如何解决如何使用 node.js 动态设置 aws ses TemplateData?
async function sendEmailToSalesTeamOnBookingDemoClass(email,name,phoneNumber,utmSource,utmTerm,utmMedium,deviceType,browser,referrer) {
try {
let emailMe = "abc@gmail.com"
const ses = new AWS.SES({ apiVersion: "2010-12-01" });
const params = {
Destination: {
ToAddresses: [emailMe]
},Source: senderEmail,Template: "Sales_Email_Demo",TemplateData : JSON.stringify({
"name": name,"email": email,"phone": phoneNumber,"utmSource":utmSource,"utmTerm":utmTerm,"utmMedium":utmMedium,"browser":browser,"referrer":referrer,"deviceType":deviceType
}),Tags: [
{
Name: 'SomeName',Value: 'info'
}
]
};
const sendEmailReceiver = ses.sendTemplatedEmail(params).promise();
sendEmailReceiver
.then(data => {
console.log(senderEmail,emailMe)
console.log("Email submitted to SES",data);
})
.catch(error => {
console.log("Email not submitted to SES:" + error);
});
}
catch (e) {
console.error(`Error: ${e}`);
}
}
Email submitted to SES {
ResponseMetadata: { RequestId: 'c08b9948-7be3-465d-a72c-fcca23f9f059' },MessageId: '010901793bd95a02-813072dc-bb87-4b65-91c4-03f7f29dcbd0-000000'
}
但是即使发件人电子邮件已经过验证和测试,也没有收到电子邮件。我的模板有问题吗?
{
"Template": {
"TemplateName": "Sales_Email_Demo","SubjectPart": "some subject!","HtmlPart": "<html> <body><p>Hello,</p><p>Details:</p><p>Name:{{name}}</p><p>Phone Number: {{phoneNumber}}</p><p>Email Id: {{emailId}}</p><p>Source: {{utmSource}}</p><p>Medium: {{utmMedium}}</p><p>Term:{{utmTerm}}</p><p>Device:{{deviceType}}</p><p>browser:{{browser}}</p><p>Referrer: {{referrer}}</p></body></html>"
}
}
解决方法
我想通了。问题出在模板上。发送变量和接收变量的命名不同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。