【问题标题】:Email address is not verified (AWS SES)电子邮件地址未验证 (AWS SES)
【发布时间】:2016-09-28 10:32:23
【问题描述】:

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

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

两者都写着verified

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

电子邮件地址未经验证。以下身份未通过 签入地区 EU-WEST-1:myemail@outlook.com(请求 ID: 9fb78de1-2673-11e6-bbbc-5f819fabe4f4)

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

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

【问题讨论】:

    标签: amazon-web-services email amazon-ses


    【解决方案1】:

    几分钟前我遇到了同样的问题,虽然这次我使用的是 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',
    
    ]);
    

    现在可以了。

    【讨论】:

      【解决方案2】:

      我验证了一个电子邮件地址,几天后我验证了我的域。当域完全验证(包括 DKIM)时,我在尝试向我域中的电子邮件地址发送电子邮件时仍然收到“电子邮件地址未验证”错误,该地址不是我的特定验证地址。

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

      【讨论】:

        【解决方案3】:

        我遇到了这个问题。我验证了域和电子邮件,甚至验证了 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 用户!

        【讨论】:

          【解决方案4】:

          确定

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

          【讨论】:

            【解决方案5】:

            确定

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

            【讨论】:

              【解决方案6】:

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

              【讨论】:

                【解决方案7】:

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

                【讨论】:

                  【解决方案8】:

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

                  【讨论】:

                  • 不正确,我联系了 AWS 支持,他们说默认情况下,创建的所有帐户都处于沙盒模式。您需要联系 AWS 支持,提交新票证,只要您拥有有效域,他们就会移除沙盒环境。
                  • 是的,我说只要你脱离了 SES 沙箱,你仍然需要使用正确的 AWS 区域。
                  • 谢谢!这对我有用。出于某种原因,当我从沙盒中移出时服务器名称发生了变化,而我没有注意到。
                  • @georgiecasey 假设我的 EC2 在新加坡。那我不能使用SES,因为我不在弗吉尼亚或爱尔兰?
                  • @Sarit 不,你仍然可以使用 SES,你只需要使用亚太地区。或者,当我发布我的答案时,你还是这样做了!
                  【解决方案9】:

                  当您的 SES 帐户处于“沙盒”模式时,您可以:

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

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

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

                  【讨论】:

                  • 您还可以从 SES 控制台将目标电子邮件地址添加到已验证的电子邮件地址。然后它可以让您向该地址发送测试邮件。
                  • 猜想要求错误消息说明这些内容太多了
                  • 在我的情况下,一切都得到了验证,但仍然收到这个(令人困惑的)错误消息,直到我意识到请求是由错误的 IAM 用户发出的。也值得一试。
                  • 出于测试目的,请验证以下电子邮件:docs.aws.amazon.com/ses/latest/DeveloperGuide/... 您必须为要验证的域向 DNS 添加 TXT 记录, 或者使用发送到该地址的验证码一一添加地址。还要注意验证是每个区域,所以在验证太多之前选择你想要测试发送的区域,...hrm..... (^-^)
                  猜你喜欢
                  • 1970-01-01
                  • 2014-04-03
                  • 2019-08-22
                  • 1970-01-01
                  • 2016-04-25
                  • 2018-11-17
                  • 2020-01-16
                  • 1970-01-01
                  相关资源
                  最近更新 更多