嘗試接收電子郵件並將其儲存到 S3 儲存桶中
我正在嘗試將收到的電子郵件儲存到 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.com
always_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 和郵件伺服器,並期望電子郵件會同時到達兩者。您必須明確地接收一個並轉發到另一個。
希望有幫助:)