在 AWS SES 上实施 handlebar helpers 以在 HTML 电子邮件中有条件地呈现标记

Implementing handlebar helpers on AWS SES for conditional rendering of markup in an HTML emailer

我们正在创建一个 HTML 电子邮件模板,该模板需要根据 JSON 数据中的一个属性的值有条件地呈现标记。我们发现了以下示例,您可以在其中创建自定义 Handlebar Helpers 来执行此操作,但使用这些时,AWS SES 拒绝发送电子邮件。

这是我们正在尝试的示例:

<script src="https://cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.1/handlebars.min.js"> 
</script>
<script type="text/x-handlebars-template">  
    Handlebars.registerHelper("equals", function(string1 ,string2, options) {
        if (string1 === string2) {
            return options.fn(this);
        } else {
            return options.inverse(this);
        }
    }); 

</script>  

{{#equals network "Telkom" }}
<p>This is Telkom {{network}}</p>
{{else}}
This is Not Telkom {{network}}
{{/equals}} 

我们在以下 post 中找到了这个实现:

我们也做了一些调查,发现 AWS 论坛上的这个讨论似乎声称 SES 不应该使用自定义车把助手 https://forums.aws.amazon.com/thread.jspa?messageID=983645

有谁知道这是否完全可行,如果不可能,是否有另一种方法可以在我们使用 SES 发送电子邮件时有条件地呈现所需的标记?

出于安全原因,我相信大多数 e-mail 客户端不支持 JavaScript。因此,模板的呈现必须由 SES 在服务器端完成。 JSON 数据中是否有其他值表明该数据是否用于 Telkom 网络?如果是这样,您可以根据 https://handlebarsjs.com/guide/builtin-helpers.html#if

在 if 语句中使用它