c# - Mailgun 批量发送模板与 Handlebars Expression 中的收件人变量
问题描述
我正在尝试为我办公室的一个项目探索 MailGun API,但我被 Handlebars 和 Templates 卡住了。
我在 MailGun 控制面板中有以下模板(“mastertemplate”)HTML
<p style="font-family: Open Sans, sans-serif; font-size: 16px;">
{{#if Islead}}
<p style="box-sizing: border-box;">Hi %recipient.lead_lastname%, %recipient.lead_firstname%</p>
{{else if Iscontact}}
<p style="box-sizing: border-box;">Hi %recipient.contact_lastname%, %recipient.contact_firstname%</p>
{{/if}}
</p>
以下是发送电子邮件的 C# 代码
RestRequest request = new RestRequest();
Dictionary<string, Dictionary<string, object>> recipientvariables = new Dictionary<string, Dictionary<string, object>>();
request.AddParameter("domain", MAILGUN_DOMAIN, ParameterType.UrlSegment);
request.Resource = "{domain}/messages";
request.AddParameter("from", "from@email.com");
request.AddParameter("to", "a@yopmail.com");
request.AddParameter("to", "b@yahoo.com");
request.AddParameter("subject","MailGun Variables Testing");
request.AddParameter("template", "mastertemplate");
request.AddParameter("h:X-Mailgun-Variables", "{\"Iscontact\": \"%recipient.Iscontact%\", \"Islead\": \"%recipient.Islead%\"}");
request.AddParameter("recipient-variables","{\"a@yopmail.com\":{\"contact_firstname\":\"Jon\",\"contact_lastname\":\"Doe\",\"Iscontact\":\"true\",\"Islead\":\"false\"},\"b@yahoo.com\":{\"lead_firstname\":\"Van\",\"lead_lastname\":\"Dong\",\"Iscontact\":\"false\",\"Islead\":\"true\"}}"
现在的问题是收到电子邮件时,它们如下所示:
b@yahoo.com Hi Dong, Van
a@yopmail.com 嗨 %recipient.lead_lastname%, %recipient.lead_firstname%
对于第二封电子邮件,它应该显示:Hi Jon Doe
解决方案
检查您的电子邮件模板 - 根据mailgun 文档,条件如下所示
{% if is_birthday %}
<p>Happy Birthday! Use the coupon code BIRTHDAY10 to receive 10% off your next order.</p>
{% endif %}
推荐阅读
- nginx - “/usr/share/nginx/html/AppzillonServer”失败(2:没有这样的文件或目录)
- html - Markdown 中“隐藏”属性的替代方法是什么?
- php - Nginx - 无法上传大于 10Kb 的文件
- windows - 如何在 64 位机器上的 Windows PowerShell 上运行 scriptblock
- node.js - NodeJS + Express + Passport + IIS
- java - Hibernate 外键问题
- ghostscript - Ghostscript -sPageList 产生stackunderflow错误并退出
- python - Pandas .loc 返回某些标签的关键错误
- maxima - 如何在 Maxima 中添加要操作的参数?
- java - JDK 11 和 JavaFX 11:为 ARM(Tinker Board)构建未运行(哈希不匹配)