Mailchimp Transactional模板变量未填充,template_content失效求助
问题
使用MailchimpTransactional包发送含动态正文的邮件时,主题、发件人、收件人等字段可正常渲染,但模板正文中的变量未被填充,template_content里的内容没有被模板调用,最终邮件正文区域为空。
模板代码:
<header></header> *|HTML:BODY|* <footer></footer>
请求Payload:
mailchimp = MailchimpTransactional.Client(MAILCHIMP_KEY) message = { 'template_name': 'general-template', 'merge_language': 'mailchimp', 'template_content': [{ 'name': 'BODY', 'content': '<h1>HEY LISTEN!</h1>' }], 'message': { 'to': [{ 'email': 'test1@example.com', 'type': 'to' }, { 'email': 'test@example.com', 'type': 'cc' }], 'subject': 'Test Subject', 'attachments': [], 'from_email': 'no-reply@test.com', 'from_name': None, 'headers': { 'Reply-To': '{}' } } } mailchimp.messages.send_template(message)
解决方法
- 模板标签语法误用:你在模板中使用的
*|HTML:BODY|*是Mailchimp营销邮件(Marketing)的合并标签规则,但Transactional(交易邮件)模板的内容区块引用语法不同。交易邮件模板里,要调用template_content中的内容,直接使用*|BODY|*即可,不需要添加HTML:前缀。 - 修正后的模板代码:
<header></header> *|BODY|* <footer></footer>
额外注意事项:
- 确认你的
general-template是在Mailchimp Transactional平台创建的,营销平台的模板无法在交易邮件系统中正常解析。 template_content中的name值要和模板里的标签名称完全匹配(大小写敏感),这里保持BODY即可。
内容的提问来源于stack exchange,提问作者sclem72
相关产品推荐
相关产品推荐

