我正在使用使用Node的aws-sdk发送AWS SES电子邮件,并且能够使用AWS CLI成功发送电子邮件。但是,从我的Node脚本中,由于某些原因,我的电子邮件验证失败。
下面是代码:
const aws = require('aws-sdk')
const ses = new aws.SES()
const message = {
Destination: {
ToAddresses: ['[email protected]]
},
Message: {
Body: {
Text: {
Charset: 'UTF-8',
Data: 'Test body'
}
},
Subject: {
Charset: 'UTF-8',
Data: 'Test subject'
}
},
Source: '[email protected]'
}
ses.sendEmail(message, function (err, data) {
if (err) console.log(err);
else console.log(data);
});
下面是错误:
message: 'Email address is not verified. The following identities failed the check in region US-EAST-1: [email protected]',
code: 'MessageRejected',
time: 2017-12-15T15:37:26.312Z,
requestId: 'random-id',
statusCode: 400,
retryable: false,
retryDelay: 15.030260565173382
请帮忙!谢谢!
根据AWS故障排除文档:
电子邮件地址未验证。以下身份未能在区域(region)中签入:(identity1),(identity2),(identity3)-您正尝试从尚未通过Amazon SES验证的电子邮件地址或域中发送电子邮件。此错误可能适用于“发件人”,“源”,“发件人”或“返回路径”地址。
如果您的帐户仍在沙箱中,则您还必须验证每个收件人的电子邮件地址,Amazon SES邮箱模拟器提供的收件人除外。如果Amazon SES无法显示所有失败的身份,则错误消息以省略号结尾。
注意:Amazon SES在多个AWS区域中具有终端节点,并且每个AWS区域的电子邮件地址验证状态是独立的。您必须为要使用的AWS区域中的每个发件人完成验证过程。
我强烈怀疑您的应用程序配置与您用于通过CLI成功发送测试电子邮件的配置不完全匹配。
检查以下配置:
--region
选项再次在us-east-1区域中明确执行CLI测试。如果使用CLI默认区域,则初始CLI测试可能存在缺陷,并且该区域碰巧不是us-east-1。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句