如何使用Mandrillapp API只从客户端?(How to use Mandrillapp A

2019-10-18 18:02发布

我最近开始使用山魈客户端电子邮件发送。 客户端的网站不使用任何服务器端程序,所以每一个逻辑必须在客户端。

我现在有工作在Chrome,火狐,IE10,但不是在LTE IE9,也不是Android <4.0既不IOS:\

m = new mandrill.Mandrill("APIKEY", true)
m.call "messages/send", {
    message:
        html: createHtml()
        subject: "subj"
        from_email: "sender@example.dk",
        from_name: "From",
        to: [
            email: "user@example.com"
            name: "User"
        ]
}, (()->
    console.log "success"
    @
), ()->
    console.log "error"
    @

在这段代码中,我使用了JS山魈API的包装 ,但我用jQuery的AJAX POST-ING尝试过了,我已经得到了同样的结果。

jQuery的版本:

$.ajax
    type: "POST"
    url: "https://mandrillapp.com/api/1.0/messages/send.json"
    data:
        key: "APIKEY"
        message:
            html: createHtml()
            subject: "subject"
            from_email: "sender@example.dk",
            from_name: "From",
            to: [
                email: "user@example.com"
                name: "User"
            ]

谁能帮我出,如何解决跨域API调用来山魈?

Answer 1:

你的代码看起来有效,因此可能是你已经运行到浏览器兼容性问题。

山魈API包装是使用原生XMLHttpRequest引擎盖下,因此可能与旧的浏览器不兼容。 如果您需要支持IE <9,你会NEDD的jQuery 1.x的版本-所有2.X版本不支持旧版浏览器了(见http://jquery.com/browser-support/ )。

我张贴在JSBin工作的例子: http://jsbin.com/UyehELo/2/edit 。 只测试了iOS版,因为不幸的是我不得不IE或Android的访问权限。 这个例子可以让你看到API响应也是在移动设备上无法轻松访问控制台。

PS。 请记住,使用在客户端的山魈通常不是因为你暴露你的API密钥公开使任何人都可以把它和您的名义发送电子邮件,最好的主意。



文章来源: How to use Mandrillapp API from only client side?