我当前正在使用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();
一旦收到此电子邮件,则该主题将如模板中所示为“某些标题”。
有没有一种方法可以在发送前动态更改标题,即将标题从“某些标题”更改为“其他标题”?
答案 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。