我在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语句导致超时。
任何人都可以帮我这个吗?遇到类似的东西?
答案 0 :(得分:0)
您可能遇到文字编码问题的副作用。解析的Mandrill SDK似乎无法处理您正在使用的字符集。从他们的论坛中查看这篇文章,为这个问题提供解决方法。