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 и проверить домен