【问题标题】:Angular 2 - send email with mailgun using HTTP PostAngular 2 - 使用 HTTP Post 使用 mailgun 发送电子邮件
【发布时间】:2016-04-08 05:09:09
【问题描述】:

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

【问题讨论】:

    标签: angular mailgun


    【解决方案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记录并验证域

    【讨论】:

    • 我知道我应该从后端做,但在这种情况下它并不重要。这不会在生产中使用。我试图授权你建议的方式,但我不工作。您还有其他建议吗?
    • 我更新了答案,我做了一个测试,它奏效了。如果您不使用沙盒域,则必须配置 DNS 记录并验证域
    • 我找到了解决方案。无论如何,谢谢你的时间,伙计!我也更新了我的帖子。
    猜你喜欢
    • 2017-07-06
    • 2017-10-12
    • 2016-10-26
    • 2016-01-24
    • 2014-04-14
    • 2015-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多