在 Mailgun API 中将 X-Mailgun-Variables 与 html 模板字段一起使用

Use X-Mailgun-Variables with html template field in Mailgun API

我正在使用 Mailgun API 发送电子邮件。我在请求中提供自己的 HTML 作为模板,而不是使用 UI 或 API 发送模板。

我想在电子邮件中注入我的变量,但变量没有被传递。我必须先将模板上传到 Mailgun 吗?与发送相同的 POST 请求相反。

我看到的所有示例都将“模板”与变量一起使用,但 none 与“html”一起使用。

THIS IS THE TEMPLATE {{my_var}} 

Python请求

requests.post("https://api.mailgun.net/v3/XXX.mailgun.org/messages",
    auth=("api", "XXX"), 
    data={"from": "Auto Send <mailgun@XXX.mailgun.org>", 
    "to": ["XXX@gmail.com"], 
    "html": "<html>THIS IS THE TEMPLATE {{my_var}}</html>",
    "subject": "XXX", 
    "text": "hello this is text", 
    "h:X-Mailgun-Variables": json.dumps({"my_var": "SOME NAME"})})

我读过:

这是 Mailgun 支持人员提供的解决方案:

return requests.post(
        f"https://api.mailgun.net/v3/{MY_DOMAIN}/messages",
        auth=("api", API_KEY),
        data={"from": f"Excited User <admin@{MY_DOMAIN}>",
              "to": f"{RECIPIENT}",
              "subject": "Mailgun Test Message",
              "text": "Testing some Mailgun awesomness!",
              "html": f"{file_content}",
              "recipient-variables": ('"mailgunTestBox@gmail.com": {"first":"Bob", "id":1}, '
                                      '"alice@example.com": {"first":"Alice", "id": 2}}')})

这是一个很好的选择,但我将直接上传 HTML 到 Mailgun 并使用“模板”字段引用模板。