解析main.js Mandrill HTML邮件发送问题

时间:2014-07-06 21:39:52

标签: javascript ios email parse-platform mandrill

我在main.js中的Parse上有一个云函数,我用Mandrill API编写HTML编码的邮件。我通过我的iOS应用程序调用此功能发布一些参数,它完全没问题,发送电子邮件。但是,我想根据用户的语言本地化HTML正文。由于我检查了非常棘手的iOS内联HTML选项,我尝试在main.js上的sendMail函数中执行此操作:

Parse.Cloud.define("sendMail", function(request, response) {
    var Mandrill = require('mandrill');
    Mandrill.initialize('APP_ID');
    var locale = request.params.locale;
    var userName = request.params.user;
    var password = request.params.pass;
    var HTMLBodyEn = '<p>text</p>';
    var HTMLBody = HTMLBodyEn;
    if (locale == 'tr') {
        HTMLBody = '<p>yazı</p>';
    }

    Mandrill.sendEmail({
        message: {
            html: HTMLBody,
            subject: request.params.subject,
            from_email: request.params.fromEmail,
            from_name: request.params.fromName,
            to: [
                {
                    email: request.params.toEmail,
                    name: request.params.toName
                }
            ]
        },
        async: true
    },{
        success: function(httpResponse) {
            console.log(httpResponse);
            response.success("Email sent!");
        },
        error: function(httpResponse) {
            console.error(httpResponse);
            response.error("Uh oh, something went wrong");
        }
    });
});

那很简单。 如果条件 ,您会看到导致所有问题......正如您所看到的那样,我收到了一个区域设置密钥来更改正文,但它并没有。 t和 Parse返回141错误代码,这意味着在一些挖掘之后是超时异常

我似乎无法理解一个简单的if语句导致超时。

任何人都可以帮我这个吗?遇到类似的东西?

1 个答案:

答案 0 :(得分:0)

您可能遇到文字编码问题的副作用。解析的Mandrill SDK似乎无法处理您正在使用的字符集。从他们的论坛中查看这篇文章,为这个问题提供解决方法。

https://www.parse.com/questions/sometimes-getting-mandrill-you-must-specify-a-key-value-error-when-sending-email