编辑:要澄清我要做的事情,我希望所有收到的电子邮件都能保存到我的SES域,即使没有电子邮件收件箱接收电子邮件,向发件人发送弹跳消息。在下面回答。
我已经创建了一个Amazon SES帐户,验证了我的域名,并将其设置为将电子邮件转发到S3存储桶。我可以从域中发送电子邮件,它们看起来还不错,但是当我收到电子邮件时,它们不会出现在我的S3存储桶中。相反,我弹跳说邮件是无法交付的:
Delivery to the following recipient failed permanently:
test@XX.XXXXX.com
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the server for the recipient domain XXXX.XXXX.com by feedback-smtp.us-west-2.amazonses.com. [54.240.249.182].
The error that the other server returned was:
550 Mailbox does not exist!
我希望收到的所有电子邮件(是否存在邮箱)来到我的S3存储桶,而不是发送弹跳消息。这可能吗?听起来我可能需要设置一个收件箱,但是SES是否允许我创建一个刚接收所有电子邮件的全局/通配符邮箱?我将自己解析响应,所以我不需要或希望邮件客户端处理解析电子邮件。
编辑:要澄清:xxxx.com是我的域名,而不是外部域。因此,我将Gmail的电子邮件发送到我控制的验证域名,其中MX记录指向SES。我意识到,如果我将电子邮件发送到另一个域的不存在的电子邮件地址,它将反弹;问题是为什么它在我的控制下从SES域弹跳。
edit2:我找到了解决方法。如果我从我的规则集中删除域名,以便所有域都转到同一S3存储桶,则可以按预期运行:电子邮件转到S3存储桶,并且没有发送弹跳电子邮件。
在评论中,我正在用自己的解决方案回答这个问题。如果您使用空白域创建收据规则(因此它涵盖了所有域),将其显示为S3存储桶,则会按预期显示电子邮件。规则集在此处记录:
http://docs.aws.amazon.com/ses/latest/developerguide/receiving-email-getting-start-start--receipt-rule.html