我有一个Amazon SES连接设置,当前处于沙盒模式。
我有我的电子邮件地址,我使用的是我的真实电子邮件地址,但对于本帖子,我们将其称为myemail@arealdomain.com
。它已在SES中验证,在电子邮件标签中旁边显示“已验证”。
我有一个Node应用程序,它通过Nodemailer发送邮件
this.transporter = nodemailer.createTransport({
SES: new aws.SES({ region: "us-east-1" })
});
this.defaultFromAddress = 'myemail@arealdomain.com';
然后我用this.transporter.sendMail发送它,所有电子邮件地址都相同myemail@arealdomain.com
当我尝试发送电子邮件时(TO和FROM相同的地址,在SES上已验证)
发送后,出现以下错误
Error: MessageRejected: Email address is not verified. The following identities failed the check in region US-EAST-1: myemail@arealdomain.com
有什么办法解决吗?
更新
在下面的对话中,我三遍确认了我的代码和AWS上的区域和电子邮件地址都是正确的。收件人地址和收件人地址相同,并且在AWS中列为“已验证”。我仍然遇到这个问题,完全不确定如何进行
更新2
使用相同的电子邮件地址,从SES仪表板发送“测试电子邮件”就可以了...
更新3
变得怪异!因此,我们昨天退出了沙盒模式,现在是普通的SES帐户。相同的精确错误,无论我使用的是哪种地址组合。我始终使用“已验证”地址作为FROM,无论TO(即使它也是经过验证的地址),我也得到与
完全相同的错误
错误:MessageRejected:电子邮件地址未验证。下列 身份未通过区域US-EAST-1的检查: myemail@arealdomain.com
答案 0 :(得分:0)
好吧,事实证明,当我在本地运行时,它使用的是错误的AWS凭证(用于其他项目)。仍然不确定如何解决,但这是实际问题,SES没错
答案 1 :(得分:0)
我们今天遇到了类似的问题,在检查了所有凭据和 SES 仪表板后,答案是地址左侧的区分大小写问题。经过验证的电子邮件是:
noreply@company.com
但我正在设置
NoReply@company.com
在标题中,这导致验证失败。