本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon SES 電子郵件傳送錯誤
此主題介紹針對透過 Amazon SES 傳送電子郵件時可能遇到的電子郵件傳送錯誤,可進行的疑難排解類型。若您嘗試透過 Amazon SES 傳送電子郵件,而對 Amazon SES 發出的呼叫失敗,Amazon SES 會將錯誤訊息傳回您的應用程式且不會傳送電子郵件。觀察此錯誤訊息的方法取決於您呼叫 Amazon SES 的方式。
-
如果您直接呼叫 Amazon SES API,查詢動作會傳回錯誤。錯誤可能是
MessageRejected
,或是 Amazon Simple Email Service API 參考資料中常見錯誤主題裡指定的其中一項錯誤。 -
如果您使用支援例外狀況的程式設計語言 AWS 開發套件呼叫 Amazon SES,Amazon SES 可能會擲回例外狀況。例外的類型將根據 SDK 與錯誤而有不同。例如,例外狀況可能是 Amazon SES
MessageRejectedException
(實際名稱可能會因 SDK 而異) 或一般 AWS 例外狀況。無論是哪種類型的例外狀況,例外中的錯誤類型和錯誤訊息都將提供您更多資訊。 -
如果您透過 SMTP 界面來呼叫 Amazon SES,您遇到錯誤的方法依應用程式而有不同。某些應用程式可能會顯示特定錯誤訊息,某些則可能不會顯示。如需 Amazon SES 傳回的 SMTP 回應代碼清單,請參閱「Amazon SES 傳回的 SMTP 回應代碼」。
注意
當您呼叫 Amazon SES 傳送一封電子郵件卻失敗時,您無須支付該封電子郵件費用。
以下是 Amazon SES 專屬問題的類型,可能導致 Amazon SES 在您嘗試傳送電子郵件時傳回錯誤。這些錯誤是附加於一般 AWS 錯誤MalformedQueryString
,如 Amazon Simple Email Service API 參考的常見錯誤主題中所指定。
-
電子郵件地址未驗證。以下身分無法在 region 區域中通過檢查:identity1、identity2、identity3;您正在嘗試從未經 Amazon SES 驗證的電子郵件或網域傳送電子郵件。此錯誤可以套用到「寄件人」、「來源」、「寄件者」或「傳回路徑」地址。若您的帳戶仍在 Amazon SES 沙盒中,除了由 Amazon SES 信箱模擬器提供的收件人外,您也必須驗證每個收件人的電子郵件地址。如果 Amazon SES 無法顯示所有失敗的身分,錯誤訊息將以省略符號做為結尾。
注意
Amazon SES 有多個 AWS 區域端點,且每個端點的電子郵件地址驗證狀態都是不同的 AWS 區域。您必須完成 AWS 區域 您要使用 中每個寄件者的驗證程序。
-
帳號已暫停 - 您帳戶的傳送電子郵件功能已暫停。您仍然可以存取 Amazon SES 主控台及執行大多數的操作。不過,若您嘗試傳送電子郵件,便會收到此訊息。
若我們暫停了您帳戶傳送電子郵件的功能,我們會自動傳送通知到與您 AWS 帳戶相關聯的電子郵件地址。如需詳細資訊,請參閱Amazon SES 傳送審核程序常見問答集。
-
調節 - 您的應用程式可能每秒嘗試傳送太多郵件,或是您可能在過去 24 小時內傳送太多電子郵件。在這些情況下,錯誤訊息可能與下列範例類似:
-
超過每日訊息配額 - 已達 24 小時期間內允許傳送的最高訊息數量。如果您已超過每日配額,必須等到下一個 24 小時期間才能傳送更多的電子郵件。
-
超過最高傳送速率 - 您每秒嘗試傳送的電子郵件數量大於允許的最大傳送速率。如果您已超過傳送速率,仍可繼續傳送電子郵件,但需要降低傳送速率。如需詳細資訊,請參閱 AWS 訊息和目標部落格上的如何處理「調節 - 超過最大傳送速率」錯誤
。 -
超過 SigV2 SMTP 傳送速率上限 - 您嘗試使用 2019 年 1 月 10 日之前建立的 SMTP 登入資料傳送訊息;您的 SMTP 登入資料是使用舊版的 AWS Signature 建立。基於安全性考量,您應刪除在此日期之前建立的憑證,改用較新的憑證。您可以使用 IAM 主控台刪除較舊的憑證。如需建立憑證檔案的詳細資訊,請參閱「取得 Amazon SES SMTP 憑證」。
您應該定期監控您的傳送活動,以確認剩餘的傳送配額。如需詳細資訊,請參閱「監控您的 Amazon SES 傳送配額」。如需有關傳送配額的一般資訊,請參閱管理您的 Amazon SES 傳送限制。如需提高傳送配額的相關資訊,請參閱提高您的 Amazon SES 傳送配額。
重要
如果錯誤文字說明調節錯誤與您超過每日配額或最高傳送速率不相關,則可能發生的是屬於系統的全面性問題而導致傳送功能降低。如需服務狀態的詳細資訊,請前往 AWS Service Health Dashboard
。 -
-
未指定收件人 - 未提供收件人。
-
電子郵件地址中含有非 ASCII 字元 - 電子郵件地址必須是 7 位元 ASCII 字串。如果您要寄出的電子郵件地址或收件人的電子郵件地址網域部分包含 Unicode 字元,您必須使用 Punycode 編碼來將網域編碼。Punycode 不可用於電子郵件的本機部分 (也就是 @ 前的部分),也不能使用於「友善寄件人」名稱中。如果您想要於「方便從」名稱中使用 Unicode 字元,則必須使用 MIME 編碼的字詞語法來對「方便從」名稱編碼,如 使用 Amazon SES API v2 傳送原始電子郵件 中所述。如需 Punycode 的詳細資訊,請參閱 RFC 3492
。 -
「寄件人」網域未驗證 - Amazon SES 無法讀取使用指定「寄件人」網域所需的 MX 記錄。如需設定自訂 MAIL FROM 網域的相關資訊,請參閱使用自訂「寄件人」網域。
-
組態集不存在 - 您指定的組態集不存在。組態設定是可選參數,可用來發佈電子郵件傳送事件。如需詳細資訊,請參閱使用 Amazon SES 事件發佈監控電子郵件傳送。