山魈模板合并失败
Mandrill template merge fail
我正在使用 mandrill 从我的 API 发送电子邮件(在 ruby 中使用 mandrill-api gem),例如注册确认电子邮件。
我在模板中有一个合并标签来放置用户名:
Hello *|USERNAME|*,
Thank you very much for installing the app! ...
...
我的 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|*
。
我在这里错过了什么?
您应该只需要在 :global_merge_vars
或 :merge_vars
中设置一次 USERNAME
。
- 如果您只发送给一个收件人,那么您发送给哪个收件人并不重要。
- 如果有多个收件人,使用
:merge_vars
。
尝试构建 message
,然后构建 puts message.to_json
,然后将其放入调试器中的 https://mandrillapp.com/api/docs/messages.JSON.html#method=send-template(单击 'Try it' 按钮。)看看是否能为您提供任何线索。
您也可以尝试使用 "USERNAME" 而不是 "username" 作为您的变量名。文档说合并变量不区分大小写,但值得再删除一个可能的不匹配。
我正在使用 mandrill 从我的 API 发送电子邮件(在 ruby 中使用 mandrill-api gem),例如注册确认电子邮件。
我在模板中有一个合并标签来放置用户名:
Hello *|USERNAME|*,
Thank you very much for installing the app! ... ...
我的 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|*
。
我在这里错过了什么?
您应该只需要在 :global_merge_vars
或 :merge_vars
中设置一次 USERNAME
。
- 如果您只发送给一个收件人,那么您发送给哪个收件人并不重要。
- 如果有多个收件人,使用
:merge_vars
。
尝试构建 message
,然后构建 puts message.to_json
,然后将其放入调试器中的 https://mandrillapp.com/api/docs/messages.JSON.html#method=send-template(单击 'Try it' 按钮。)看看是否能为您提供任何线索。
您也可以尝试使用 "USERNAME" 而不是 "username" 作为您的变量名。文档说合并变量不区分大小写,但值得再删除一个可能的不匹配。