Mandrill 模板合并失败
Posted
技术标签:
【中文标题】Mandrill 模板合并失败【英文标题】:Mandrill template merge fail 【发布时间】:2016-02-28 10:51:44 【问题描述】:我正在使用 mandrill 从我的 API 发送电子邮件(在 ruby 中使用 mandrill-api gem),例如注册确认电子邮件。
我在模板中有一个合并标签来放置用户名:
你好*|用户名|*,
非常感谢您安装该应用程序! ... ...
我的 ruby 代码如下所示:
m = Mandrill::API.new ENV['MANDRILL_KEY']
template_name = "app-registration-welcome-email"
template_content = []
message =
:from_name=> "From Name",
:to=>[
:email => user.email,
:name => user.name,
],
:global_merge_vars => [
:name => "username",
:content => user.name
],
:merge_language => "mailchimp",
:merge => true,
:merge_vars => [
:rcpt => user.email,
:vars => [
:name => "username",
:content => user.name
],
],
:track_opens => true,
m.messages.send_template template_name, template_content, message
不幸的是,当我收到电子邮件时,一切都很好(收件人、姓名、发件人……),但正文中没有替换合并标签,我仍然显示*|USERNAME|*
。
我在这里错过了什么?
【问题讨论】:
您使用的是哪种宝石? mandrill API 有大量的 ruby 包装器。 mandrillapp.com/docs/integrations.html 这是 mandrill-api,我刚刚用这些信息更新了消息,谢谢。 【参考方案1】:您应该只需要在:global_merge_vars
或:merge_vars
中设置一次USERNAME
。
:merge_vars
。
尝试构建message
,然后构建puts message.to_json
,并将其放入调试器https://mandrillapp.com/api/docs/messages.JSON.html#method=send-template(单击“尝试”按钮。)看看这是否能给你任何线索。
您也可以尝试使用“用户名”而不是“用户名”作为变量名。文档说合并变量不区分大小写,但值得删除另一个可能的不匹配。
【讨论】:
是的,那是因为我已经尝试了所有这些可能性。我会尝试调试器,我不知道。谢谢,我会及时通知你 太棒了!很高兴听见!真正的问题是什么?以上是关于Mandrill 模板合并失败的主要内容,如果未能解决你的问题,请参考以下文章
如何获取 Mandrill/Mailchimp 模板以在合并标签中保留换行符