Amazon-Web-Services

嘗試接收電子郵件並將其儲存到 S3 儲存桶中

  • March 10, 2021

我正在嘗試將收到的電子郵件儲存到 s3 儲存桶中,我遵循了本教程和其他多個教程: https ://docs.aws.amazon.com/ses/latest/DeveloperGuide/receiving-email-getting-started.html

我的 MX 記錄設置為我的 mail.Domain,如下所示: Domain MX 10 mail.domain 當我將其更改為 Domain MX 10 inbound-smtp.us-east-1.amazonaws.com

我不再收到郵件,也沒有儲存電子郵件。

我不知道究竟缺少什麼?請有人幫忙。

**更新:**設法遵循 Mlu 的答案,我現在離得到我的答案很近,唯一的問題是 AWS SES 不接受在我的域之外到達另一個外部域的“FROM”。

例如,A 向 B 發送電子郵件,B 將電子郵件轉發(看起來更像是重定向)給 C,因此 C 看到他收到了來自 A 而不是 B 的消息,AWS SES 不喜歡並會給出此錯誤,例如:

554 消息被拒絕:電子郵件地址未經驗證。以下身份未能通過 US-EAST-1 區域的檢查:OutsiderMail@gmail.com、Jon Doe(回复 DATA 命令的結尾)。

首先是一些 DNS / 電子郵件背景 - 即使您的 DNS 中有多個example.com的 MX 記錄,電子郵件也只能由列出**的伺服器之一接收。**通常,發件人會聯繫偏好最低的那個,但在您的情況下,如果兩者的優先級均為 10,則發件人伺服器只會隨機選擇一個。

如果您既想在mail.example.com上接收電子郵件, 又想通過AWS SES將其儲存在 S3 中,則必須明確地將其從一個發送到另一個。

我在我們的一個項目中進行了類似的設置,我們通過 Postfix(即我們的mail.example.comalways_bcc )接收郵件,然後我們使用postfix 配置指令將其轉發到 SES 。

在這種情況下,example.com MX 記錄僅指向mail.example.com,而不是 SES。但是,我們也有 ses.example.com 的記錄,是指向 inbound-smtp.us-east-1.amazonaws.com 的 MX記錄。然後我們顯然在 SES 中配置了域以將電子郵件儲存到 S3。always_bcc = prod-bcc@ses.example.com``ses.example.com

如果你願意,你也可以反過來做——首先在 SES 上接收,然後從那裡保存到 S3 並轉發到你的其他郵件伺服器。

最重要的是,您不能簡單地列出 SES 和郵件伺服器,並期望電子郵件會同時到達兩者。您必須明確地接收一個並轉發到另一個。

希望有幫助:)

引用自:https://serverfault.com/questions/1001623