我正在使用lambda函数通过AWS Cognito自定义确认电子邮件。我的lambda函数似乎运行正常,如下所示:
exports.handler = async (event, context, callback) => {
const sampleTemplate = `<html>
<body>
<div>${event.request.codeParameter}</div>
<div>${event.userName}</div>
</body>
</html>`
if (event.triggerSource === "CustomMessage_AdminCreateUser") {
event.response.emailSubject = 'Lets hope this works'
event.response.emailMessage = sampleTemplate
console.log(event.response) // Logs look as expected
}
callback(null, event);
};
问题在于,当电子邮件到达时,邮件正文被“用户池”>“邮件自定义”选项卡中的内容覆盖。主题行工作正常,但是电子邮件正文已被覆盖。例如,认知设置如下所示:
如您所见,lambda函数用于设置电子邮件的主题行,而不是实际内容。我找不到关闭该内容的任何设置,并且不能将其留空...非常感谢您的帮助。
答案 0 :(得分:1)
如果完成所有操作后,您的自定义电子邮件模板没有显示,请检查以下内容:
答案 1 :(得分:0)
对于发现此问题的任何人,我都能找到答案。使用CustomMessage_AdminCreateUser
事件时,如果在模板中使用event.userName
,则cognito会静默引发错误。而是使用event.request.usernameParameter
,它将起作用