已验证地址的 Amazon SES 错误 "MessageRejected: Email address is not verified"

Amazon SES Error for VERIFIED address "MessageRejected: Email address is not verified"

我有一个当前处于沙盒模式的 Amazon SES 连接设置。

我有我的电子邮件地址,我使用的是真实地址,但为此 post 我们称它为 myemail@arealdomain.com。它已在 SES 中验证,在电子邮件选项卡中它旁边显示 "verified"。

我有一个通过 Nodemailer 发送邮件的 Node 应用程序

this.transporter = nodemailer.createTransport({
  SES: new aws.SES({ region: "us-east-1" })
});

this.defaultFromAddress = 'myemail@arealdomain.com';

然后我用 this.transporter.sendMail 发送它,所有电子邮件地址都相同 myemail@arealdomain.com

当我尝试发送电子邮件时,(发往和发自同一地址,已在 SES 上验证)

发送时出现以下错误

Error: MessageRejected: Email address is not verified. The following identities failed the check in region US-EAST-1: myemail@arealdomain.com

有什么解决办法吗?

更新

根据下面的对话,我三重确认我的区域和电子邮件地址在我的代码和 AWS 中都是正确的。发件人地址和发件人地址相同,在 AWS 中列为 "verified"。我仍然遇到这个问题,完全不确定如何进行

更新2

从 SES 仪表板发送 "Test Email" 效果很好,使用相同的电子邮件地址...

update3

越来越奇怪了!所以我们昨天退出了沙盒模式,现在是一个普通的 SES 帐户。无论我使用哪种 to/from 地址组合,都会出现完全相同的错误。我总是使用 "verified" 地址作为 FROM,无论 TO(即使它也是经过验证的地址)我都会得到与

完全相同的错误

Error: MessageRejected: Email address is not verified. The following identities failed the check in region US-EAST-1: myemail@arealdomain.com

好吧,事实证明,当我在本地 运行 时,它使用了不正确的 AWS 凭证(用于其他项目)。仍然不确定如何解决,但这是 SES 的实际问题

我们今天遇到了类似的问题,在检查了所有凭据和 SES 仪表板后,答案竟然是地址 left-hand 端的 case-sensitivity 问题。已验证的电子邮件是:

noreply@company.com

但我正在设置

NoReply@company.com

在 header 中,这导致验证失败。

今天遇到了同样的问题。浪费了几个小时。

node.js 的 SESv2Client 库在未传递凭据配置时使用默认的 aws-cli 配置 属性。

const ses = new SESv2Client({ 
    region: 'region-code',
    credentials: {
        accessKeyId: 'ABC',
        secretAccessKey: 'xyz'
    }
});