Mandrill API - 渲染模板不替换标签

时间:2015-06-07 17:22:05

标签: php mandrill

我正在使用Mandrill自己的PHP库来预览和发送模板化的电子邮件。我已经通过替换标记验证了发送按预期工作,但template->render方法返回(正确)模板而不用替换标记。搜索结果没有相关结果,所以我只能假设我做错了什么。我发现的唯一类似问题是this,没有答案。

渲染方法的文档是here

以下是请求和响应。

请求

{
"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]

1 个答案:

答案 0 :(得分:0)

我试图用Java在不同但相关的项目中实现这一点,并遇到了同样的问题。事实证明,Mandrill API在渲染模板时不支持使用Handlebar标记。我最初将其作为Java库的问题提出,但这适用于任何库或直接API调用。

更多信息,包括Mandrill的门票号码,可以在这里找到:

https://github.com/rschreijer/lutung/issues/65