Ruby Mandrill模板合并失败
我使用mandrill从我的API(ruby和mandrill API gem)发送电子邮件,比如注册确认电子邮件 我在模板中有一个合并标记,用于放置用户名: 您好*|用户名|* 非常感谢您安装此应用程序。。。 我的ruby代码如下所示:Ruby Mandrill模板合并失败,ruby,templates,mandrill,Ruby,Templates,Mandrill,我使用mandrill从我的API(ruby和mandrill API gem)发送电子邮件,比如注册确认电子邮件 我在模板中有一个合并标记,用于放置用户名: 您好*|用户名|* 非常感谢您安装此应用程序。。。 我的ruby代码如下所示: m = Mandrill::API.new ENV['MANDRILL_KEY'] template_name = "app-registration-welcome-email" template_content = [{}] message = {
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
不幸的是,当我收到电子邮件时,一切都很好(to、name、from…),但正文中的合并标记没有被替换,我仍然显示*| USERNAME |*
这里缺少什么?您只需在
:global\u merge\u vars
或:merge\u vars
中设置用户名一次
- 如果你只发送给一个收件人,那么你发送哪一个并不重要李>
- 如果有多个收件人,请使用
:merge\u vars
尝试构建message
,然后将message.to_json
放入调试器中(单击“Try it”按钮)。看看这是否提供了任何线索
您还可以尝试使用“USERNAME”而不是“USERNAME”作为变量名。文档说合并变量不区分大小写,但还需要删除一个可能的不匹配项。您使用的是哪一个gem?mandrill API有大量ruby包装器。这是mandrill api,我刚刚用这些信息更新了消息,谢谢。是的,那是因为我已经尝试了所有这些可能性。我将尝试调试器,我不知道。谢谢,我会一直给你发帖的!很高兴听到这个消息!实际的问题是什么?