有没有一种方法可以动态更改SES模板上的电子邮件模板主题字段?

时间:2019-08-22 09:24:07

标签: node.js amazon-web-services amazon-ses email-templates

我当前正在使用SES在部署时将电子邮件模板与serverless-ses-template一起存储。
模板使用以下参数存储,这两个参数都是必需的:

templateId: 'status-template',
templateSubject: 'Some Title'

在Lambda中,我得到了所需的模板,将值映射到该模板并将其发送:

const email = {
        Destination: {
            ToAddresses: targetAddresses
        },
        Source: 'sourcemail@mail.com',
        Template: "status-template",
        TemplateData: JSON.stringify(templateData)
    };

await ses.sendTemplatedEmail(email).promise();

一旦收到此电子邮件,则该主题将如模板中所示为“某些标题”。
有没有一种方法可以在发送前动态更改标题,即将标题从“某些标题”更改为“其他标题”?

1 个答案:

答案 0 :(得分:1)

通过创建本质上是自定义字段值并将其包装在双大括号中,您可以自定义主题以及几乎所有其他字段,例如:

templateSubject: "Important Message for {{ username }}"

然后将您的“用户名”参数添加到templateData对象中,并在发送电子邮件时将{{username}}替换为值,在这种情况下为“ Marko Nikolov”。

const templateData = {
    "username": "Marko Nikolov"
};

const email = {
        Destination: {
            ToAddresses: targetAddresses
        },
        Source: 'sourcemail@mail.com',
        Template: "status-template",
        TemplateData: JSON.stringify(templateData),
    };

await ses.sendTemplatedEmail(email).promise();

您可以在API文档here中了解有关sendTemplatedEmail属性的更多信息,以及创建和自定义SES电子邮件模板here