发送电子邮件时,Amazon SES(沙盒外和域验证)失败

Posted

技术标签:

【中文标题】发送电子邮件时,Amazon SES(沙盒外和域验证)失败【英文标题】:Amazon SES (out of sandbox and domain verified) fails when send email 【发布时间】:2017-11-24 05:24:54 【问题描述】:

我已经配置了 Amazon SES(在沙盒之外并且经过域验证)。但是当我发送电子邮件时它失败了。我用这些参数发送它:

来自:noreply@xx.xx 主机:email-smtp.eu-west-1.amazonaws.com 用户名:xxx 密码:xxx 端口:465

但我总是收到:“错误消息:电子邮件地址未验证。以下身份未能通过 EU-WEST-1 区域的检查:noreply@xx.xx”

【问题讨论】:

电子邮件地址的发件人是否经过验证?我不是指域名,而是个人电子邮件地址 - docs.aws.amazon.com/ses/latest/DeveloperGuide/… noreply@xx.xx 不是真正的邮件(因为是“noreply”)。另一方面,@xx.xx 是经过广告验证的域 如果您的 SES 帐户确实超出了沙盒模式,您将不会收到该错误。你确定你有 SES 在eu-west-1 out of sandbox 模式,而不是在其他地区没有 SES? 【参考方案1】:

如果您在 AWS 中使用多账户设置,您可能已经在特定账户中设置了 SES,并允许您的其他账户通过您特定账户上的 SES 发送电子邮件。

在这种情况下,您也可以尝试在您的其他帐户上启用生产访问权限。

AWS 似乎会检查发出请求的当前帐户 的生产访问权限,而不是具有实际 SES 设置的帐户。这似乎是 AWS 中的一个错误,但这为我解决了这个问题。

【讨论】:

【参考方案2】:

即使您的帐户退出沙盒模式,您仍然需要验证发件人的电子邮件地址。这可以是您为您的企业创建的新电子邮件,也可以是您正在执行的个人电子邮件。无论哪种方式,您都应该只需要使用经过验证的电子邮件即可通过 SES 发送电子邮件,而不是沙盒模式。

我自己刚刚完成了这个过程,并使用我已验证的电子邮件地址作为来源成功地向未验证的地址发送了一封电子邮件。在我使用 SES 验证之前,这封电子邮件之前无法使用。

验证电子邮件地址很容易在 AWS 控制台中完成 -> SES -> 电子邮件地址(侧面板)-> 验证新电子邮件地址(页面顶部的蓝色按钮)。

希望能帮助到那里的人。

【讨论】:

如果发送域经过验证,则无需验证单个电子邮件地址。

以上是关于发送电子邮件时,Amazon SES(沙盒外和域验证)失败的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 play framework 1.x 和 Amazon SES 发送电子邮件?

Amazon SES:发送电子邮件标头

使用 Amazon SES 和 Spring Boot 发送电子邮件

Postfix 处理 Amazon SES 最大发送速率错误

电子邮件已验证,但我仍然无法使用 Amazon SES 发送电子邮件

使用 PHP 开发工具包从 Amazon SES 发送 HTML 邮件