Я хочу отправить простое письмо из браузера с помощью mailgun
. Я отправляю рабочее письмо от postman
и с помощью функции кода загрузки мне удалось получить код javascript, который:
var data = new FormData();
data.append("from", "Mailgun Sandbox <[email protected]>");
data.append("to", "Example <[email protected]>");
data.append("subject", "Hello from Mailgun");
data.append("text", "Congratulations Example, you just sent an email with Mailgun! You are truly awesome!");
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener("readystatechange", function () {
if (this.readyState === 4) {
console.log(this.responseText);
}
});
xhr.open("POST", "https://api:[email protected]/v3/sandbox1985406854ad9e8b8dfe094531fa41e8.mailgun.org/messages");
xhr.setRequestHeader("cache-control", "no-cache");
xhr.setRequestHeader("postman-token", "0a3ad9d5-22b5-6308-d6e7-59f66360fa26");
xhr.send(data);
Но когда я выполняю этот код из своего браузера (firefox
), он ничего не делает. Что я делаю неправильно?
Изменение URL-адреса
https://api:[email protected]/v3/sandbox1985406854ad9e8b8dfe094531fa41e8.mailgun.org/messages
в
https://api.mailgun.net/v3/sandbox1985406854ad9e8b8dfe094531fa41e8.mailgun.org/messages
похоже, выполняется, является ли api:key-xx
part недействительным?
Не делай этого. Это неправильное использование API Mailgun.
Предоставляя этот Javascript в браузере, вы предоставляете им доступ к ключу API Mailgun. Этот ключ API никоим образом не ограничен - вредоносный клиент может злоупотреблять ключом, чтобы отправлять неограниченное количество сообщений любому получателю, которого они хотят, потенциально ломать большие счета и/или блокировать вашу учетную запись для спама.
Используйте API Mailgun на стороне сервера. Если вам нужно отправлять сообщения через Javascript, создайте конечную точку в своем приложении, которая вызывает API Mailgun с соответствующими ограничениями.