如何让 Mandrill 解析模板中的 Handlebars 标签?

Posted

技术标签:

【中文标题】如何让 Mandrill 解析模板中的 Handlebars 标签?【英文标题】:How can I get Mandrill to parse the Handlebars tags in my template? 【发布时间】:2015-11-30 06:29:24 【问题描述】:

我正在使用 Mandrill 的发送模板 API 方法发送电子邮件。没关系,但以防万一,我使用的是 php

使用正确的模板发送电子邮件,但没有任何 Handlebars 变量被替换为它们的值。相反,它们只是被删除了。

这是在减少我的代码后在 API 日志中看到的完整请求:


  "template_name": "my-template-slug",
  "template_content": [
    
      "name": "price",
      "content": "$25"
    
  ],
  "message": 
    "subject": "My Subject",
    "from_email": "my@email.com",
    "from_name": "My Name",
    "to": [
      
        "name": "Jimmy Crackcorn",
        "type": "to",
        "email": "jimmy@crackcorn.com"
      
    ]
  ,
  "async": false,
  "ip_pool": null,
  "send_at": null,
  "key": "my_api_key"

我还尝试将我的模板简化为 price,它只会发送一封空白电子邮件。

我还验证了 Sending Defaults > Merge Language 设置为 Handlebars。

如果有什么不同,我在 MailChimp 中创建了模板并将其发送到 Mandrill,然后从变量中删除了转义的反斜杠。

【问题讨论】:

【参考方案1】:

Handlebars 应该在您的 API 请求中的 merge_varsglobal_merge_vars 参数中传递,而不是在 template_content 中——这是用于 mc:edit regions for the MailChimp template language 的。

【讨论】:

以上是关于如何让 Mandrill 解析模板中的 Handlebars 标签?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 mandrill 发送 mailchimp 模板?

Mandrill — 如何格式化车把模板的复杂数据

Mandrill 模板中的条件内容

带把手的 Mandrill 模板 - 如何格式化日期

mandrill 模板电子邮件中的动态 html

Mandrill 不替换 html 模板中的合并标签内容