【问题标题】:Postmark template: dynamic variable with html processed as text instead of html邮戳模板:将 html 处理为文本而不是 html 的动态变量
【发布时间】:2021-03-11 05:52:40
【问题描述】:

我有一个 Postmark 电子邮件模板,其中动态变量包含 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 上,&lt;br&gt; &lt;br&gt; 显示为文本:“&lt;br&gt; &lt;br&gt;”。

我做错了什么?

【问题讨论】:

    标签: node.js email templates postmark


    【解决方案1】:

    邮戳支持提供了答案:

    我们通常会转义 HTML,但您可以通过使用它来解决这个问题 变量的语法:

    {{{body}}} 或 {{&body}}

    三重大括号或 & 符号可以让您将 HTML 放入其中 填充 TemplateModel 值时的变量。

    【讨论】:

    • 你知道我们是否可以在键“TextBody”的直接值中使用我们自己的 HTML 代码吗?
    猜你喜欢
    • 2014-06-03
    • 1970-01-01
    • 2014-10-20
    • 2019-06-25
    • 1970-01-01
    相关资源
    最近更新 更多