Angular 2 - отправлять почту с помощью mailgun, используя HTTP Post

Я пытаюсь отправить письма из моего приложения angular 2 с помощью mailgun, но у меня проблемы с авторизацией и я получаю только 403 ответа.

Это то, что у меня так далеко

 var authHeader = new Headers();
    authHeader.append('Authorization','API_KEY');
        var url="https://api.mailgun.net/v3/MY_MAILGUN_DOMAIN.mailgun.org/messages";
    var mail = {
      from : "text",
      to : "text",
      subject : "text"
      text : "text"
    };
   this._http.post(url, message, {headers:authHeader});

Кто-нибудь знает, как прикрепить мой ключ API для успешной авторизации?

ОБНОВИТЬ:

 var headers = new Headers(); 
    headers.append("Authorization": "Basic "+btoa("api:key-API_KEY")

Мне нужно было предоставить ключ API с кодировкой btoa.

1 ответ

В соответствии с mailgun doc вы можете прикрепить его следующим образом

https://api:key-3ax6xnjp29jd6fds4gc373sgvjxteol0@api.mailgun.net/v3/samples.mailgun.org/log

НО

Если вы сделаете это с Angular 2, тогда ваш ключ API будет общедоступным (потому что Angular 2 - это среда сценариев внешнего интерфейса), и любой может получить и увидеть и использовать ваш ключ API.

Вы должны отправить электронное письмо от сервера (php, nodejs, rails и т. Д.)

РЕДАКТИРОВАТЬ: я только что сделал тест с моей учетной записью песочницы, без каких-либо проблем, я отправил так:

https://api:key-xxxxxxxxxxxxxxxxxxx@api.mailgun.net/v3/sandbox7296.mailgun.org/messages

Помните, что если вы не используете домен песочницы, вам нужно настроить записи DNS и проверить домен

Другие вопросы по тегам