我正在尝试使用Mailchimp模板通过Mandrill API发送电子邮件。我在Parse.com的云代码中执行此操作,请参阅此处https://www.parse.com/docs/cloud_modules_guide#mandrill。电子邮件发送得很好,但是,mc:edit字段永远不会更新。这是模板中唯一的内容:
<span mc:edit="ship_id">ship_id</span>
这就是我在Javascript中的调用,希望有人看到我的错误。我在Parse.com云代码中运行它,如果这有任何区别。非常感谢!
var Mandrill = require('mandrill');
Mandrill.initialize('api-key');
Mandrill.sendTemplate({
template_name: "Drip campaign",
template_content: [{
name: "ship_id",
content:"Test Test"
}],
message: {
text: "Hi",
subject: "You have new mail",
from_email: "info@example.com",
from_name: "Thomas",
to: [
{
email: "answer@example.com",
name: "Fred"
}
],
"headers": {
"Reply-To": "answer@example.com"
},
"important": false,
"track_opens": true,
"track_clicks": true,
},
async: true
},{
success: function(httpResponse) {
response.success("Email sent!");
},
error: function(httpResponse) {
console.error(httpResponse);
response.error("Uh oh, something went wrong");
}
});
}
答案 0 :(得分:2)
据我所知,您希望在动态编辑邮件内容的同时发送电子邮件。您已经使用过,可以通过Mandrill API完成。我建议你使用链接中可下载的js文件;
https://github.com/jlainog/parse-mandrill-sendTemplate
从github帐户的js文件中,您可以使用标签mc:edit动态编辑邮件内容(必须在您的模板中)。
对于我的案例,工作副本的代码如下;
Parse.Cloud.define("sendMail", function(request, response) {
var Mandrill = require('cloud/mandrillSend.js');
var sentTo = //Mail address to sent
var subject = //Mail Subject
var fromEmail = //From email
var fromName = //From Name
var sentToName = //Parameters from request
var fullName = //Full Name
Mandrill.initialize('YOUR MANDRILL API KEY');
Mandrill.sendTemplate({
template_name: "MANDRIL TEMPLATE",
template_content: [
{
name: "nameHeader",
content: sentToName,
},
{
name: "mail",
content: sentTo,
},
],
"key": "YOUR MANDRILL API KEY",
message: {
subject: subject,
from_email: fromEmail,
from_name: fromName,
to: [{
email: sentTo,
name: fullName
}],
important: true
},
async: false
}, {
success: function (httpResponse) {
console.log(httpResponse);
response.success("Email sent!");
},
error: function (httpResponse) {
console.error(httpResponse);
response.error("Uh oh, something went wrong");
}
});
});
例如,在Mandrdil模板中,有一个带有id;
的范围<span mc:edit="mail"> test@gmail.com</span>
希望这会有所帮助。 问候。
答案 1 :(得分:1)
好的,所以我的代码没有任何问题,但似乎模板没有正确地从Mailchimp发送到Mandrill,因为为合并tages或mc添加 | NAME | 等字段:编辑=&#34;名称&#34;只是没有填充。至少Mailchimp模板的代码非常奇怪且非常嵌套。
出于这个原因,我建议您在此处使用自己的HTML,您可以在其中输入合并视频或mc:edits https://mandrillapp.com/templates/。