山魈合并变量不起作用
Mandrill merge variables not working
我正在使用以下 Python 代码发送 Mandrill 电子邮件:
json_mandrill = dict(
key=MANDRILL_KEY,
template_name=template_name,
template_content=[],
global_merge_vars=[],
message=dict(to=[dict(email=recipient)])
)
for name, content in merge_vars.items():
json_mandrill["global_merge_vars"].append(
dict(name=name, content=content))
url = "https://mandrillapp.com/api/1.0/messages/send-template.json"
logging.info(json.dumps(json_mandrill))
result = urlfetch.fetch(url=url,
payload=json.dumps(json_mandrill),
method=urlfetch.POST,
headers={'Content-Type': 'application/x-www-form-urlencoded'})
这是我的日志中提交的 JSON 示例:
{"global_merge_vars": [{"content": 7, "name": "free_duration"}, {"content": 4615291308867584, "name": "eid"}, {"content": "poll", "name": "mode"}, {"content": "31 July 2015 at 09:44 EDT", "name": "exp"}, {"content": "Jeff", "name": "name"}],
"template_content": [],
"message": {"to": [{"email": REDACTED}]},
"key": REDACTED,
"template_name": "manager-welcome"}
我的 Mandrill 设置设置为使用 Handlebars,这里是模板的摘录:
<p>Dear {{name}},</p>
这是收到的电子邮件中显示的内容:
<p>Dear ,</p>
电子邮件已发送,但电子邮件中的合并变量只是空白。知道我做错了什么吗?
查看提交的 JSON,"global_merge_vars" 似乎没有正确嵌套。它们应该嵌套在 "message" 结构中,而不是在同一层。
我正在使用以下 Python 代码发送 Mandrill 电子邮件:
json_mandrill = dict(
key=MANDRILL_KEY,
template_name=template_name,
template_content=[],
global_merge_vars=[],
message=dict(to=[dict(email=recipient)])
)
for name, content in merge_vars.items():
json_mandrill["global_merge_vars"].append(
dict(name=name, content=content))
url = "https://mandrillapp.com/api/1.0/messages/send-template.json"
logging.info(json.dumps(json_mandrill))
result = urlfetch.fetch(url=url,
payload=json.dumps(json_mandrill),
method=urlfetch.POST,
headers={'Content-Type': 'application/x-www-form-urlencoded'})
这是我的日志中提交的 JSON 示例:
{"global_merge_vars": [{"content": 7, "name": "free_duration"}, {"content": 4615291308867584, "name": "eid"}, {"content": "poll", "name": "mode"}, {"content": "31 July 2015 at 09:44 EDT", "name": "exp"}, {"content": "Jeff", "name": "name"}],
"template_content": [],
"message": {"to": [{"email": REDACTED}]},
"key": REDACTED,
"template_name": "manager-welcome"}
我的 Mandrill 设置设置为使用 Handlebars,这里是模板的摘录:
<p>Dear {{name}},</p>
这是收到的电子邮件中显示的内容:
<p>Dear ,</p>
电子邮件已发送,但电子邮件中的合并变量只是空白。知道我做错了什么吗?
查看提交的 JSON,"global_merge_vars" 似乎没有正确嵌套。它们应该嵌套在 "message" 结构中,而不是在同一层。