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

Mandrill API - render template not replacing tags

我正在使用 Mandrill 自己的 PHP 库来预览和发送模板化电子邮件。我已经通过替换标签验证了发送是否按预期工作,但是 template->render 方法 returns (正确的)模板 没有 替换标签。搜索没有找到相关结果,所以我只能假设我做错了什么。我发现的唯一类似问题是 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}} 应该替换为我发送的值,就像发送电子邮件一样?

对preview/send邮件的两种不同调用如下:

$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