【问题标题】:AWS SES handle doesn't exist mailbox with LambdaAWS SES 句柄不存在带有 Lambda 的邮箱
【发布时间】:2021-05-19 17:06:09
【问题描述】:

我尝试使用 AWS SES 在获取电子邮件时处理一些应用数据。

我已使用 AWS SES 验证了 mydomain.com。我想处理发送到地址 1@mydomain.com 2@mydoamin.com 的动态电子邮件,其中 1,2 id 来自数据库。

我想用 AWS lambda 处理它,但我不能这样做,因为我得到:

550 5.1.1 未采取请求的操作:邮箱不可用

有没有办法绕过邮箱的创建?

如何通过 SES 更改电子邮件地址,以便将所有电子邮件发送到一个预先存在的邮箱?

【问题讨论】:

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


【解决方案1】:

错误

550 5.1.1 未采取请求的操作:邮箱不可用

不是 AWS Lambda 或 AWS SES 问题。这是电子邮件接收端的问题。问题是1@mydomain.com的接收端没有人接收邮件。

Lambda 和 SES 无法避免该问题。要处理此问题,您必须在接收端通过以下方式解决:

  • 创建收件箱,或
  • 设置别名,或
  • 将电子邮件通配到默认收件箱

完成此操作的技术步骤取决于您的接收端邮件服务器。

【讨论】:

  • 我可以更改 SES 规则中的“收件人”标题以更改为电子邮件地址吗?
  • 您可以更改“收件人”字段,但这只会更改您的电子邮件发送位置。收件人必须仍然存在(与以前相同的问题)。
  • @MattHouser - 我认为这不能回答问题。我遇到了同样的问题 - 这是一个 SES 问题,我在接收而不是发送电子邮件时遇到问题。所以收到邮件的是我的 Amazon SES 账户;为什么 SES 会向发件人发送退回消息(我应该收到)?接收邮箱不存在,但为什么这很重要?这是发给 dosnotexist@.com 的电子邮件,我拥有该域,所以我应该能够解析收到的电子邮件。
  • @user3170530 您在 SES 中为接收消息定义了哪些规则?您的域是否在 SES 中配置为经过验证的域?
【解决方案2】:

确保您的 MX 记录为 correctly setuppropagated

要检查,请导航到 Route 53 中您的域的 托管区域,您应该拥有如下 MX 记录:

10 inbound-smtp.us-east-1.amazonaws.com 
20 inbound-smtp.eu-west-1.amazonaws.com 
30 inbound-smtp.us-west-2.amazonaws.com

另见:Amazon WorkMail account failing to receive email

【讨论】:

    【解决方案3】:

    首先,您需要确保在 AWS 控制台中的 Identity Management - Domains 下验证了您的电子邮件域。

    之后,您必须验证您的 RuleSet 是否处于活动状态。这意味着在电子邮件接收 - 规则集 - 查看活动规则集下,您必须使用定义的域查看您的规则。


    在您的特定情况下:

    1. 验证域 mydoamin.com
    2. 检查活动规则集是否真的包含 1@mydoamin.com 和 .2@mydoamin.com 的 SES 规则

    【讨论】:

      【解决方案4】:

      我在设置从一个地址到另一个地址的电子邮件转发时遇到了这个问题,并最终意识到当 SES 规则集指令要求提供“收件人”电子邮件地址时,这不是我将电子邮件转发到的地址,而是实际上是接收电子邮件的初始电子邮件地址。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-06
        • 2015-03-19
        • 2020-11-25
        • 2015-12-13
        相关资源
        最近更新 更多