禁用替换数据的 HTML 编码

jah*_*ahu 1 sparkpost

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

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

Edit2:我测试了直接使用JSON发送电子邮件,结果是相同的,所以我可以得出结论,HTML编码是由SparkPost完成的,而不是由c#库完成的。

小智 5

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

{
  "substitution_data": {
    "firstName": "<em>Jimbo</em>"
  },
  "content": {
    "html": "<p>Hi {{{firstName}}}</p>"
  }
}
Run Code Online (Sandbox Code Playgroud)

...您可以在 HTML 消息正文中看到以下内容:

<p>Hi <em>Jimbo</em></p>
Run Code Online (Sandbox Code Playgroud)

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