Mailgun模板,用于使用Handlebars表达式中的收件人变量进行批量发送

时间:2019-07-16 08:52:29

标签: handlebars.js mailgun

我正在尝试创建用于批量发送的Mailgun模板,并且该模板需要在 Handlebars (条件)中使用收件人变量,以确定要使用的语言,例如所以:

<div>
  {{#if %recipient.eng%}}
    Hello
  {{else}}
     Bonjour
  {{/if}}
</div>

但是,在进行POST调用以创建上述模板时,我得到了错误响应:

 "message": "template parse error: Parse error on line 2:\nLexer error\nToken: Error{\"Unexpected character in expression: '%'\"}"

Mailgun网站上没有任何文档使用通过手柄进行批量发送,因此可能无法实现。
有没有人成功做到这一点?

2 个答案:

答案 0 :(得分:0)

问了Mailgun支持问题后,他们最近又回来了。
结论是不可能在车把表达式中使用收件人变量不幸的是。

答案 1 :(得分:0)

您需要将参与者变量复制为电子邮件的标准变量。请注意以-F v:eng开头的行。

curl -s --user 'api:YOUR_API_KEY' \
https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \
-F from='Excited User <YOU@YOUR_DOMAIN_NAME>' \
-F to=alice@example.com \
-F to=bob@example.com \
-F recipient-variables='{"bob@example.com": {"first":"Bob", "id":1, "eng": true}, "alice@example.com": {"first":"Alice", "id": 2, "eng": false}}' \
-F v:eng='%recipient.eng%'
-F subject='Hey, %recipient.first%' \
-F text='If you wish to unsubscribe, click http://mailgun/unsubscribe/%recipient.id%'

然后您将能够使用车把模板中的标准变量来访问它

<div>
  {{#if %eng%}}
    Hello
  {{else}}
     Bonjour
  {{/if}}
</div>