Angular 2 - 使用HTTP Post发送带有mailgun的电子邮件

时间:2016-04-07 20:13:10

标签: angular mailgun

我尝试使用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密钥。

1 个答案:

答案 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记录并验证域