node.js - 邮戳模板:将 html 处理为文本而不是 html 的动态变量
问题描述
我有一个邮戳电子邮件模板,其中动态变量包含 html。但是,它将 html 处理为纯文本。
更具体地说,我有下面的代码。该变量body
被发送到电子邮件模板,但是<br><br>
它显示为文本而不是它转到下一行。
在控制器中:
const body = "Hi...<br><br> Welcome to our a new episode.";
client.sendEmailWithTemplate(
{
TemplateAlias: process.env.POSTMARK_TEMPLATE,
TemplateModel: {
body: body
},
From: from,
To: email,
});
在邮戳模板中:
<tr>
<td>
1. The following includes text with a br break: {{body}}
</td>
</tr>
<tr>
<td>
2. This line includes a br break directly in the template: How are you? <br> Anything new?
</td>
</tr>
这会产生一封电子邮件,其中 br 中断在位置 2 上起作用,但在位置 1 上不起作用。在位置 1<br> <br>
上显示为文本:“ <br> <br>
”。
我究竟做错了什么?
解决方案
邮戳支持提供了答案:
我们通常会转义 HTML,但您可以通过对变量使用以下语法来解决这个问题:
{{{body}}} 或 {{&body}}
在填充 TemplateModel 值时,三重大括号或 & 符号将允许您将 HTML 放入该变量中。
推荐阅读
- pyspark - 在 pyspark 中删除所有重复的实例
- apache - .htaccess 用于 SPA,将传入请求重写为 index.html,静态资源除外
- c++ - 将对象的字节复制到数组并再次返回是否安全
- c# - Select语句在db C#中没有得到任何数据
- java - 交易标记为仅回滚,原因不明
- javascript - 使用 C# 发送 JS 对象的 HTTP 响应不起作用
- shell - 如何检查子目录的读写执行权限?
- neo4j - 如何在 NEO4J 的路径中获取不同的节点?
- python - 具有多个元素的数组的真值是不明确的。使用 ReLu 函数使用 a.any() 或 a.all() python numpy
- google-sheets - 如何计算 ArrayFormula 内每行最后 7 行的总和?