电子邮件地址未验证 (AWS SES)

Email address is not verified (AWS SES)

我想使用亚马逊的简单电子邮件服务来发送电子邮件。

我验证了我的域以及我要发送的电子邮件地址。

两者都表示 verified

现在,当我从 AWS 控制台使用发送测试电子邮件向 myemail@outlook.com 发送测试电子邮件时,我只收到错误消息:

Email address is not verified. The following identities failed the check in region EU-WEST-1: myemail@outlook.com (Request ID: 9fb78de1-2673-11e6-bbbc-5f819fabe4f4)

现在它让我印象深刻,因为它说 myemail@outlook.com 未经验证,但我尝试从 admin@mydomain.com 发送。发送测试电子邮件对话框甚至会强制您使用已注册的电子邮件。

如何解决这个问题?我错过了什么吗?

当您的 SES 帐户处于 "sandbox" 模式时,您可以:

  1. 仅从 个经过验证的域和电子邮件地址发送,并且
  2. 只发送 个经过验证的域和电子邮件地址

为了发送给任何其他人,您必须通过联系 AWS 支持并请求将您的账户从沙盒模式中移出:

https://docs.aws.amazon.com/console/ses/sandbox

如果电子邮件已经过验证并且您不在 SES 沙箱中,请检查您的 SMTP 服务器的 AWS 区域是否正确。当我的 SMTP 凭据用于 email-smtp.us-east-1.amazonaws.com 服务器时,我试图连接到 email-smtp.eu-west-1.amazonaws.com

@Matt Houser 已经回答了问题,但我添加了一张 2020 年 6 月的截图来解释他所说的话。

在我的例子中,我需要在失败的地区再次验证电子邮件。您可以尝试在右上角更改您的区域,然后再次单击“验证新电子邮件地址”

确保

  1. 您将电子邮件添加到 ses 并获得验证。
  2. 您为您的帐户启用生产模式。

确保

-您已提交案例请求以支持客户并向 24 解释确认它的目的,也许他们会询问您关于您的应用程序的一些额外信息

我有这个问题。我验证了域和电子邮件,甚至验证了 DKIM 设置。 但仍然收到此消息:

Email address is not verified. The following identities failed the check in region {aws_region}: {email}

我将 SourceArn 添加为 sendEmail 的参数,然后收到此消息:

User `arn:aws:iam::{account_id}:user/{username}' is not authorized to perform `ses:SendEmail' on resource `arn:aws:ses:{aws_region:{account_id}:identity/{email}'

2 天后我发现我使用了错误的 IAM 用户!

我验证了一个电子邮件地址,几天后又验证了我的域。当域完全验证(包括 DKIM)时,我在尝试向我域内的电子邮件地址发送电子邮件时仍然收到 'Email address is not verified' 错误,那不是我的特定验证地址。

我删除了我验证过的电子邮件地址,并重新验证了它,它立即起作用了。然后我可以发送域范围的电子邮件,而之前 - 我只能发送到我之前验证过的电子邮件。

几分钟前我遇到了同样的问题,虽然这次我在 PHP 中使用 SDK。

我不得不仔细检查 SesClient 实例化代码。

$SesClient = new SesClient([
    'profile' => 'default',
    'version' => '2010-12-01',
    'region'  => 'us-west-2',

]);

我发现实例化代码中的区域是us-west-2。 我回到我的控制台,发现 SES 帐户在 us-east-2(俄亥俄州)中被沙盒化。

我像这样在实例化代码中实现了更改

$SesClient = new SesClient([
    'profile' => 'default',
    'version' => '2010-12-01',
    'region'  => 'us-east-2',

]);

现在可以使用了。

请注意,已验证身份实际上区分大小写。我想知道为什么我会收到这样的错误,即使我的电子邮件已经过验证并且不在 SandBox 中。

问题

令人困惑的是,您的 e-mail 地址在 AWS SES -> 已验证身份 中显示为 “已验证”仍然无法正常工作。

其实有两个验证:

  1. DKIM 一个(使该字段勾选绿色并已验证)
  2. E-mail 地址验证

这意味着您必须使用您有权访问的 e-mail 地址(邮箱)才能单击验证 link。

如果不点击 e-mail 中的 link,您的身份可能会得到验证,但您仍然会在各处看到错误。

使用 AWS WorkMail 的简单解决方案

我正在使用 AWS WorkMail,但我创建了一个新组而不是另一个 WorkMail 帐户,然后将我的个人帐户添加到其中,收到验证 e-mail 并设法获得:“noreply@.. ”正在工作。

我遇到了这个问题,上面的 none 对我有用。我的问题专门与使用 boro3 通过 python 发送有关。我最终发现我正在使用的系统在 windows 系统中存储了一组不同的 aws 凭据,而不是在同一台 windows 机器上的 Linux 子系统中。解决方案是设置两组 aws 凭据以匹配适当的 aws 帐户。我在这里添加这个以防万一有人遇到同样的问题并且像我一样找不到答案。