先決條件
我使用AWS SES發送帶有事件發布的電子郵件以跟蹤交付狀態。
問題
我正在尋找一個事件來確保電子郵件成功發送給最終用戶。
描述
根據 AWS 檔案,此型別適用:
遞送– Amazon SES 成功地將電子郵件遞送到收件人的郵件服務器。
但是,即使在Hardbounces或Complaints的情況下,我總是會收到此事件。
例如,電子郵件狀態流是:
- Sends -> Deliveries - 在成功交付的情況下
- 發送->交付->硬退回- 以防我提供無效的收件人
我不希望在Deliveries之后出現硬反彈。如果這種行為是正確的,那么我需要一些額外的事件來確保成功。在成功交付的情況下,預計會出現這樣的情況:
- 發送->交付->成功
我知道還有其他“成功”事件,例如Opens、Clicks、Subscriptions,但它們需要最終用戶采取額外的行動。
實施細節
我使用經過驗證的身份作為電子郵件發件人。
配置集用于將狀態事件重定向到SNS。
最后,SQS訂閱此 SNS 以將所有事件集中在一個位置。
我嘗試了幾種發送電子郵件的方法:
- 使用AWS SES 開發工具包的 Java 代碼
- 發送帶有預定義和自定義收件人的模擬器
結果是一樣的(如上所述)
uj5u.com熱心網友回復:
我認為不可能有Success狀態,因為 AWS 無法保證收件人郵件服務器何時會回復Hard Bounce. 您必須自己定義要等待多長時間,直到您認為交付成功。例如,如果 5 分鐘后沒有硬反彈,則表示成功。
如果您的用例用于分析,我將簡單地捕獲更多事件型別(例如同時記錄交付和硬退回),然后將我的成功計為交付計數 - 硬退回計數。
如果您的用例用于事件驅動的作業負載,我們需要首先定義什么是Success. 例如,如果我們在 5 分鐘后定義Success為否Hard Bounce,我們可以配置一個 Lambda 函式在交付事件后 5 分鐘觸發。在函式中,檢查是否發生了后續的 Bounce 事件。如果沒有,則認為交付成功,然后您可以繼續做您想做的事情。
uj5u.com熱心網友回復:
這是我從 aws 支持獲得的關于電子郵件傳遞狀態的資訊。
Amazon SES 將繼續進行多次投遞嘗試,直到收到來自收件人郵件服務器的成功回應,或者直到 840 分鐘過去。如果 Amazon SES 在此期間仍無法發送電子郵件/訊息,它將停止發送電子郵件,然后將回傳退回訊息/通知。
據此,您無法確定bounce5 分鐘內的或任何其他狀態。
AWS 無法確認收件人郵件服務器是否能夠在您收到時將郵件傳遞到收件人電子郵件地址250 OK(確認 aws 已將郵件傳遞到收件人的郵件服務器)。
因此,您無法確定。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/414730.html
標籤:
上一篇:在R中創建條件虛擬變數列
