AWS Cognito-覆盖Lambda触发器的自定义电子邮件

时间:2020-04-30 01:13:44

标签: amazon-web-services aws-lambda amazon-cognito

我正在使用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);
};

问题在于,当电子邮件到达时,邮件正文被“用户池”>“邮件自定义”选项卡中的内容覆盖。主题行工作正常,但是电子邮件正文已被覆盖。例如,认知设置如下所示: enter image description here

电子邮件如下所示: enter image description here

如您所见,lambda函数用于设置电子邮件的主题行,而不是实际内容。我找不到关闭该内容的任何设置,并且不能将其留空...非常感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

如果完成所有操作后,您的自定义电子邮件模板没有显示,请检查以下内容:

答案 1 :(得分:0)

对于发现此问题的任何人,我都能找到答案。使用CustomMessage_AdminCreateUser事件时,如果在模板中使用event.userName,则cognito会静默引发错误。而是使用event.request.usernameParameter,它将起作用