我使用Mandrill自己的PHP库来预览和发送模板电子邮件。我已经验证了通过替换标签发送工作如预期,但是template->render
方法返回(正确的)模板而没有替换标签。搜索没有找到相关结果,所以我只能假设我做错了什么。我发现的唯一一个类似的问题是这个,没有答案。
渲染方法的文档在这里。
下面是请求和响应。
请求{
"template_name": "welcome",
"template_content": [
{
"name": "member_first_name",
"content": "James"
},
{
"name": "useLogo",
"content": true
}
],
"merge_vars": [
{
"name": "member_first_name",
"content": "James"
}
{
"name": "useLogo",
"content": true
}
],
"key": "blah"
}
反应:
{
"html": "<p>Dear {{member_first_name}},</p>" [etc]
除非我误解了API文档,{{member_first_name}}应该被替换为我发送的值,就像发送电子邮件一样?
预览/发送邮件的两个不同的调用如下:
$mandrill->messages->sendTemplate($template_name, $template_content, $message, false);
$mandrill->templates->render($template_name, $template_content, $template_content, false);
的地方……
$template_content = array(
array(
'name' => 'member_first_name',
'content' => $memberFirstName
),
array([etc]
我试图在Java中为一个不同但相关的项目实现这一点,并遇到了同样的问题。事实证明,在呈现模板时,Mandrill API不支持使用Handlebar标记。我最初将其作为Java库的问题提出,但这适用于任何库或直接API调用。
更多信息,包括从Mandrill的机票号码,可以在这里找到:
https://github.com/rschreijer/lutung/issues/65