我正在使用Mandrill PHP-API类向我的客户端发送批量邮件。并且想知道为什么剂量Mandrill只识别我的一些'recipient_metadata'合并标签?
Mandrill Api请求是:
{
"message": {
"from_email": "me@example.com",
"from_name": "Bengwela Stream",
"headers": {
"Reply-To": "me@example.com"
},
"important": false,
"track_opens": true,
"track_clicks": true,
"auto_text": null,
"auto_html": null,
"inline_css": null,
"url_strip_qs": null,
"preserve_recipients": false,
"tracking_domain": null,
"signing_domain": null,
"tags": [
"CODE"
],
"merge": true,
"metadata": {
"sendtype": "demorun"
},
"to": [
{
"email": "to@example.com",
"name": "Bob "
}
],
"subject": "CODE L1",
"recipient_metadata": [
{
"rcpt": "bob@example.com",
"vars": [
{
"name": "A",
"content": 3
},
{
"name": "email",
"content": "bob@example.com"
},
{
"name": "invoice",
"content": "123456"
},
{
"name": "SITE",
"content": "http://example.com"
}
]
}
],
"html": " <!DOCTYPE html PUBLIC \" ....Complex.... *|A|* *|email|* *|invoice|* *|SITE|* ",
"text": " *|A|* *|email|* *|invoice|* *|SITE|* ",
},
"async": true,
"ip_pool": null,
"send_at": null,
"key": "123456456645"
}
但是在任何TEXT和EMAIL Live发送中,只有 | A | | email | 被替换。
我很可能在这里弄乱了一些东西。但我看不清楚。 :)
感谢您的任何帮助。
答案 0 :(得分:5)
要填充合并代码(*|SOMETHING|*
,您实际上想要使用merge_vars
和global_merge_vars
参数而不是元数据参数。元数据允许您向消息添加信息,但是它只是 用于跟踪/分析(更多关于元数据here)。元数据参数中没有任何内容用于填充消息中的合并标记或内容。*|EMAIL|*
合并标记很特别 - 如果您没有提供价值,我们默认会自动填写收件人的电子邮件地址。
因此,在您的API调用中,您应该能够将recipient_metadata
替换为merge_vars
,并按预期填充这些合并标记。
有关使用合并标记的更多信息,请查看此处的知识库文章:http://help.mandrill.com/entries/21678522
如果您仍然遇到问题,可以联系支持人员查看您正在进行的实际API调用。登录到您的帐户后,只需点击页脚中的“帮助”链接即可。