Mandrill - 全局变量和普通变量的区别

31

我一遍又一遍地查看了这篇Mandrill知识库文章,但没有明显的解释Global Merge Vars和Merge Vars之间的区别,以及何时应该使用全局变量而不是普通变量。

global_merge_vars和merge_vars都在“message”对象中声明(如Mandrill API所示),因此并不像您声明全局合并变量在消息对象之外,然后包含多个合并变量。

此外 - 这些在模板本身中如何声明是否有任何区别,还是它们都只使用*|MERGE_VAR_NAME|*格式?


7
我很想知道为什么 'template_content' 数组键是必需的,但可以为空(我也不太清楚它的用途是什么)。 - alexleonard
1
Alex -- Kaitlin回答了你的问题吗?如果是,请接受答案或澄清您需要什么其他帮助。 - Richard West
3
抱歉 Richard,我刚才完全沉迷于编程中了。Kaitlin 确实让我找到了正确的方向,尽管我觉得 Mandrill API 的文档有点令人困惑。如果文档中提供更多的例子会很好。 - alexleonard
2个回答

58
global_merge_vars参数允许您为特定合并标记传递全局值,并默认应用于该API调用中的所有收件人,而merge_vars则允许您根据收件人电子邮件地址指定每个收件人的值(这就是为什么在merge_vars 中声明了rcpt)。 邮件或模板中的内容不会变化 - 这些API参数之所以不同是因为它们的应用方式不同。 template_content参数是模板中可编辑区域的内容。更多信息请参见此处。最初,Mandrill不支持合并标记,只支持模板中的可编辑区域。 为了向后兼容,调用模板时仍需要template_content。即使模板区域不应被替换,通过传递空数组来明确完成也很有帮助。 Mandrill知识库包含各种主题的大量信息,如果您有针对您的帐户或一般问题的具体问题,则可以在那里提交支持请求!

奇怪,我从Mailchimp得到了两个空数组作为回复。嗯...我一定做错了什么。 - Costa Michailidis
我的错误。似乎即使模板拥有所有这些信息,您仍然需要指定各种消息数据,包括from_email、from_name、subject等等。 - Costa Michailidis
混淆了使用“渲染模板”和“合并变量”,那么如何使用SendMessage发送结果HTML呢? - Kiquenet

1
global_merge_vars: 使用global_merge_vars参数为合并标签提供全局或默认值。这些将在收件人没有定义特定于收件人的值的情况下使用。 merge_vars: 如果同时向多个收件人发送邮件,请使用merge_vars参数存储特定于收件人的值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接