Mailgun + AngularJS + http post 请求的身份验证

2023-12-22

我正在尝试在角度请求中转换以下示例代码。

https://documentation.mailgun.com/user_manual.html#sending-via-api https://documentation.mailgun.com/user_manual.html#sending-via-api

curl -s --user 'api:YOUR_API_KEY' \
    https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \
    -F from='Excited User <mailgun@YOUR_DOMAIN_NAME>' \
    -F to=YOU@YOUR_DOMAIN_NAME \
    -F [email protected] /cdn-cgi/l/email-protection \
    -F subject='Hello' \
    -F text='Testing some Mailgun awesomness!'

我在下面尝试了授权标头,但仍然出现未经授权的错误。我看到请求标头已设置授权字段值。 我究竟做错了什么?

    var url = "https://api.mailgun.net/v3/sandboxXXXXXXXXXXXXXXXXX.mailgun.org/messages";
    var dataFields = {
        to: "verified recepient",
        subject: "subject",
        text: "text",
        from: "postmaster address of sandbox domain"
    }

    var req = {
        method : 'POST',
        url: url,
        headers : {
            'Authorization' : 'Basic api:key-XXXXXXXXXXXXXXXX'
        },
        data: dataFields
    }
    $http(req).then(function(data){
        console.log(data);
    }, function(data){
        console.log(data);
    })

终于让它在本地机器上工作了 - 来自不同帖子的集体信息并使用这个插件 -https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi- 我能够让它发挥作用。那么这个插件有什么作用呢?我可以在我的帖子请求中执行此操作吗?

如果没有它,它会给我错误

XMLHttpRequest cannot load https://api.mailgun.net/v3/sandboxXXXXXXXXXX.mailgun.org/messages. Request header field Authorization is not allowed by Access-Control-Allow-Headers in preflight response.

var url = "https://api.mailgun.net/v3/sandboxXXXXXXXXXXXXXXX.mailgun.org/messages";
        var dataJSON = {
            from: "[email protected] /cdn-cgi/l/email-protection",
            to: "registered recepient",
            subject: "Subject text",
            text: "Body text",
            multipart: true
        }

        var req = {
            method : 'POST',
            url: url,
            headers : {
                'content-type': 'application/x-www-form-urlencoded',
                'Authorization': 'Basic ' + $base64.encode('api:key-XXXXXXXXXXXXX')
            },
            transformRequest: function(obj) {
                var str = [];
                for(var p in obj)
                str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
                return str.join("&");
            },
            data: dataJSON
        }
        $http(req).then(function(data){
            console.log(data);
        }, function(data){
            console.log(data);
        })
  • 我所缺少的东西。
  • 多部分
  • 上下文类型
  • encodeURIComponent - 用于参数
  • Base64 编码的 API 密钥
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mailgun + AngularJS + http post 请求的身份验证 的相关文章

随机推荐