Отправка электронной почты из браузера mailgun

1

Я хочу отправить простое письмо из браузера с помощью 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 недействительным?

  • 0
    Вы когда-нибудь понимали это? Я хочу сделать то же самое, что и вы.
Теги:
postman
mailgun

1 ответ

1

Не делай этого. Это неправильное использование API Mailgun.

Предоставляя этот Javascript в браузере, вы предоставляете им доступ к ключу API Mailgun. Этот ключ API никоим образом не ограничен - вредоносный клиент может злоупотреблять ключом, чтобы отправлять неограниченное количество сообщений любому получателю, которого они хотят, потенциально ломать большие счета и/или блокировать вашу учетную запись для спама.

Используйте API Mailgun на стороне сервера. Если вам нужно отправлять сообщения через Javascript, создайте конечную точку в своем приложении, которая вызывает API Mailgun с соответствующими ограничениями.

  • 1
    Да, я знаю, что это ужасно, но в этот момент мне более любопытно, почему это не работает, вместо того, чтобы заставить его работать. Я уже создал внутренний сервер, который отправляет электронную почту.
  • 0
    Мне интересно, как заставить это работать в браузере. Моя реализация сделала бы это как расширение Chrome. В этот момент единственным человеком, имеющим доступ к ключу API, является конечный пользователь, который предоставит свой собственный ключ.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню