山魈合并变量不起作用

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" 结构中,而不是在同一层。