我尝试使用mailgun从我的angular 2应用程序发送电子邮件,但我遇到授权问题,只收到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")
我需要使用btoa编码提供API密钥。
答案 0 :(得分:4)
根据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记录并验证域