在 AWS SES 上实施把手助手,以便在 HTML 电子邮件程序中条件性地呈现标记

2024-01-16

我们正在创建一个 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}} 

我们在以下帖子中找到了这个实现:Handlebars if/else 语句中的逻辑? https://stackoverflow.com/questions/50712361/logic-in-handlebars-if-else-statement

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

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


我相信出于安全原因,大多数电子邮件客户端都不支持 JavaScript。因此模板的渲染必须由 SES 在服务器端完成。 JSON 数据中是否还有其他值表明该数据是否适用于 Telkom 网络?如果是这样,您可以在 if 语句中使用它,如下所示https://handlebarsjs.com/guide/builtin-helpers.html#if https://handlebarsjs.com/guide/builtin-helpers.html#if

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 AWS SES 上实施把手助手,以便在 HTML 电子邮件程序中条件性地呈现标记 的相关文章

随机推荐