Amazon 電子郵件發送如何工作 SES - Amazon Simple Email Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon 電子郵件發送如何工作 SES

本主題說明當您使用傳送電子郵件時會發生什麼情況SES,以及電子郵件傳送後可能發生的各種結果。下方圖表是傳送程序的高階概觀:

Email sending process with Amazon SES, showing potential bounces, complaints, and delivery outcomes.
  1. 作為電子郵件寄件者的用戶端應用程式會提出SES要求傳送電子郵件給一或多個收件者。

  2. 如果請求有效,請SES接受電子郵件。

  3. SES透過網際網路傳送訊息給收件者的接收者。一旦訊息傳遞至SES,通常會立即傳送,第一次傳遞嘗試通常會在毫秒內發生。

  4. 此時會發生幾種不同的可能性。例如:

    1. 成ISP功將郵件傳送至收件者的收件匣。

    2. 收件者的電子郵件地址不存在,因此會ISP傳送退信通知給SES。SES然後將通知轉寄給寄件者。

    3. 收件人收到郵件,但認為它是垃圾郵件,並向ISP. 的ISP,它有一個反饋循環設置SES,發送投訴SES,然後將其轉發給發送者。

下列各節會檢閱寄件者傳送電子郵件要求給收件者之SES後SES的個別可能結果。

寄件者傳送電子郵件要求至 SES

當寄件者提出SES要求傳送電子郵件時,通話可能會成功或失敗。以下章節說明在每個案例中會發生的情況。

成功的傳送請求

如果要求成SES功,則會SES傳回成功回應給寄件者。此訊息包含 訊息 ID (一個可唯一識別請求的字元字串)。您可以使用訊息 ID 來識別傳送的電子郵件,或追蹤傳送期間遇到的問題 (您必須將自己的對應儲存在識別碼與接受電子郵件時SES傳回給您的SES訊息 ID 之間)。SES然後根據要求參數組合電子郵件訊息,掃描郵件是否有可疑的內容和病毒,然後使用簡易郵件傳送通訊協定 () SMTP 透過網際網路將其傳送出去。您的訊息通常會立即傳送;而第一次傳遞嘗試一般來說會在千分之一秒內發生。

注意

如果SES接受寄件者的要求,然後判斷郵件包含病毒,就會SES停止處理郵件,而且不會嘗試將郵件傳遞至收件者的郵件伺服器。

傳送請求失敗

如果寄件者的電子郵件傳送要求SES失敗,請以錯誤SES回應寄件者並捨棄電子郵件。此請求的失敗有幾項原因。例如,請求的格式可能不正確或電子郵件地址可能尚未由寄件者驗證。

您可以判斷要求是否失敗的方法取決於您呼叫的方式SES。下列範例是錯誤與例外狀況傳回的範例:

  • 如果您SES透過 Query (HTTPS) API (SendEmailSendRawEmail) 呼叫,動作會傳回錯誤。如需詳細資訊,請參閱 Amazon 簡易電子郵件服務API參考

  • 如果您使用的是 AWS SDK使用異常的編程語言,則調用SES將拋出一個 MessageRejectedException. (例外的名稱可能會略有不同,具體取決於SDK.)

  • 如果您使用的是接SMTP口,則發送者會收到SMTP響應代碼,但錯誤的傳達方式取決於發件人的客戶端。部分客戶端可能顯示錯誤碼;其他客戶端可能不會。

如需使用傳送電子郵件時可能發生之錯誤的相關資訊SES,請參閱Amazon SES 電子郵件傳送錯誤

Amazon 發SES送電子郵件後

如果發件人的請求成SES功,則發SES送電子郵件,並發生以下結果之一:

  • 成功傳送且收件者不會反對電子郵件 — 電子郵件會被接受ISP,並將電子郵件ISP傳送給收件者。下圖顯示成功交付狀況。

    Email flow diagram showing sender, Amazon SES, receiver ISP, and recipient with successful delivery.
  • 硬退信 — 電子郵件ISP因為持續狀況而被拒絕或拒絕,SES因為電子郵件地址位於SES隱藏清單中。如果電子郵件地址最近導致任何SES客戶的反彈,那麼該電子郵件地址就會出現在SES禁止列表中。ISP可能會發生硬反彈,因為收件人的地址無效。硬退件通知會從ISP背面傳送至SES,視寄件者的設定而定,透過電子郵件或 Amazon 簡單通知服務 (AmazonSNS) 通知寄件者。SES以相同的方式通知寄件者禁止清單反彈。從硬反彈的路徑ISP如下圖所示。

    Email flow diagram showing sender, Amazon SES, and receiver with arrows indicating message path.
  • 軟退回 — 由於暫時性狀況 (例如太忙而ISP無法處理要求或收件者的信箱ISP已滿),無法將電子郵件傳送給收件者。若網域不存在,也可能發生軟退信。會將軟退回通知ISP傳送回SES,或者,如果是不存在的網域,SES則找不到網域的電子郵件伺服器。在任何一種情況下,都可以長時間SES重試電子郵件。如果在該期間內SES無法傳送電子郵件,它會透過電子郵件或 Amazon 傳送退信通知給您SNS。如果SES可以在重試期間將電子郵件傳送給收件者,則傳送成功。下圖顯示軟退信狀況。在此情況下,請SES重試傳送電子郵件,最ISP終能夠將其傳送給收件者。

    Email flow diagram showing sender, Amazon SES, receiver, and recipient with soft bounce scenario.
  • 投訴 — 電子郵件被接受ISP並發送給收件人,但收件人認為該電子郵件是垃圾郵件,然後在其電子郵件客戶端中單擊「標記為垃圾郵件」之類的按鈕。如果設定SES了意見回饋迴圈ISP,則會傳送投訴通知SES,並將投訴通知轉寄給寄件者。大多數人ISPs不會SES提供提交投訴的收件人的電子郵件地址,因此投訴通知會根據原始郵件的收件人和收到投訴的ISP來源,為發送者提供可能發送投訴的SES收件人列表。投訴的路徑顯示於下方圖表中。

    Diagram showing email flow from sender through Amazon SES, ISP, and recipient, with complaint feedback loop.
  • 自動回覆 — 電子郵件會被接受ISP,並將其ISP傳送給收件者。ISP然後將自動響應(如 out-of-the-office (OOTO)消息發送到SES。SES將 auto 回應通知轉寄給寄件者。自動回應顯示於下列圖表中。

    Diagram showing email flow from sender through Amazon SES, ISP, recipient, and auto-response back to sender.

    確保SES啟用的程序不會重試發送生成 auto 響應的消息。

    提示

    您可以使用SES信箱模擬器來測試成功的傳送、退信、投訴OOTO,或是地址在禁止清單上時會發生什麼情況。如需詳細資訊,請參閱手動使用信箱模擬器