我正在使用Mandrill API并有一个简单的模板:
<html>
<body>
<p>Hello *|name|*
</p>
</body>
</html>
我在这里使用send-template.json API:https://mandrillapp.com/api/docs/messages.JSON.html#method=send-template
当我插入我的有效载荷时,'name'var仍然没有填充,任何想法为什么?
{
"key": "secret",
"template_name": "mandrill-sunday",
"template_content": [
{
"name": "example name"
}
],
"message": {
"html": "<p>Example HTML content</p>",
"text": "Example text content",
"subject": "example subject",
"from_email": "message.from_email@example.com",
"from_name": "Example Name",
"to": [
{
"email": "myemail@gmail.com",
"name": "Recipient Name"
}
],
"headers": {
"Reply-To": "myemail@yahoo.com"
},
"important": false,
"track_opens": null,
"track_clicks": null,
"auto_text": null,
"auto_html": null,
"inline_css": null,
"url_strip_qs": null,
"preserve_recipients": null,
"bcc_address": "kamil@myemail.com",
"tracking_domain": null,
"signing_domain": null,
"merge": true,
"global_merge_vars": [
{
"name": "merge1"
}
],
"merge_vars": [
{
"rcpt": "myemail@gmail.com",
"vars": [
{
"name": "merge2"
}
]
}
],
"tags": [
"password-resets"
],
"google_analytics_domains": [
"mydomain.com"
],
"google_analytics_campaign": "mandrill-sunday",
"metadata": {
"website": "www.mydomain.com"
},
"recipient_metadata": [
{
"rcpt": "myemail@gmail.com",
"values": {
"user_id": 123456
}
}
]
},
"async": false
}
但我在发送的电子邮件中回复的唯一内容是:
Hello *|name|*
答案 0 :(得分:32)
因为每次替换都需要两个字段:名称及其内容。所以你的合并应该变成:
"vars": [
{
"name": "name",
"content" : "merge2"
}
]
答案 1 :(得分:3)
必须使用global_merge_vars
global_merge_vars': [{'content': 'merge1 content', 'name': 'name'}]
答案 2 :(得分:0)
我刚刚尝试使用SMTP标头接受了答案,但它无效。 (我在这里写Ruby(在Rails上))
headers['X-MC-MergeVars'] = [
{name: 'name', content: 'pieter'}
].to_json
虽然最直接的方式有效。也许他们改变了一些东西或者SMTP标题的工作方式有所不同?..这有效:
headers['X-MC-MergeVars'] = {
name: 'pieter'
}.to_json
答案 3 :(得分:0)
有两件事可以让你在这里绊倒。
1)(正如其他人所提到的)每个合并变量对象都有两个键值对,名称和内容:
'global_merge_vars': [
{
'name': 'fullName',
'content': 'foo bar',
},
{
'name': 'email',
'content': 'foobar@gmail.com',
}
],
2)确保将合并语言设置为mailchimp或用于mandrill的把手。
'merge_language': 'mailchimp',
来源:https://mandrillapp.com/api/docs/messages.python.html#method=send-template