禁用 HTML 编码 substitution_data

Disable HTML encoding of substitution_data

从 Mandrill 切换到 SparkPost 后,我​​们在使用 transmission 发送电子邮件时遇到了问题。在 Mandrill merge_vars 中没有 HTML 编码,我们有时会在其中放入 HTML,但是在 SparkPost 中 substitution_data 似乎是 HTML 编码的,并且它弄乱了一些我们的电子邮件。是否有全局设置允许关闭此功能或至少将其禁用 transmission?

编辑: 我忘了说我们使用的是csharp-sparkpost库,这意味着它可能是与库直接相关的问题而不是SparkPost API,我需要进一步调查。

Edit2: 我测试了直接用JSON发送邮件,结果是一样的,所以我可以断定HTML编码完成了通过 SparkPost 而不是通过 c# 库。

您可以在替换变量中呈现 HTML,而无需通过在变量周围使用 3 个大括号进行转义。例如在您的传输中使用此:

{
  "substitution_data": {
    "firstName": "<em>Jimbo</em>"
  },
  "content": {
    "html": "<p>Hi {{{firstName}}}</p>"
  }
}

...您会在 HTML 邮件正文中看到:

<p>Hi <em>Jimbo</em></p>

SparkPost 参考文档中有更多详细信息:https://developers.sparkpost.com/api/#/introduction/substitutions-reference/escaping-html-values