我使用mandrill从我的API发送电子邮件(使用mandrill-api gem发送红宝石),如注册确认电子邮件。
我在模板中有一个合并标记,用于输入用户名:
Hello * | USERNAME | *,
非常感谢你安装应用程序! ... ...
我的红宝石代码看起来像这样:
var angle = 30;
var m = r1.transform.baseVal.consolidate().matrix;
var dim = r3.getBBox();
var pos = computePosition(m, dim, angle);
r3.transform.baseVal.initialize(
svg.createSVGTransformFromMatrix(
svg.createSVGMatrix()
.translate(pos.x, pos.y)
.translate(dim.width/2, dim.height/2)
.rotate(30)
.translate(-dim.width/2, -dim.height/2)
)
)
不幸的是,当我收到电子邮件时,一切都很好(to,name,from,...)但是合并标签在正文中没有被替换,我仍然显示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
。< / p>
我在这里缺少什么?
答案 0 :(得分:1)
您只需在USERNAME
或:global_merge_vars
中设置:merge_vars
一次。
:merge_vars
。尝试构建message
然后puts message.to_json
并将其放入https://mandrillapp.com/api/docs/messages.JSON.html#method=send-template的调试器中(点击“尝试”按钮。)看看是否能为您提供任何线索。
您也可以尝试使用“USERNAME”代替“username”作为变量名称。文档说合并变量不区分大小写,但值得删除一个可能的不匹配。