由於郵件服務或進階網路設定錯誤,AEM無法傳送傳出SMTP電子郵件
AEM環境可能無法傳送傳出電子郵件,其中記錄顯示SMTP連線錯誤(例如EmailException或MailConnectException),以及在本機運作但無法在AEM as a Cloud Service上運作的電子郵件。 若要修正問題,請確認您的環境型別、修正郵件服務和進階網路設定,以及驗證記錄檔中的SMTP連線。
說明 description
環境
- Adobe Experience Manager as a Cloud Service
- AEM Managed Services
- Adobe Experience Manager 6.5 (內部部署)
- AEM Forms
問題/症狀
- 記錄檔顯示SMTP傳送失敗,例如
EmailException: Sending the email to the following server failed。 - 發佈記錄檔顯示
MailConnectException: Could not connect to the host, port。 - 電子郵件適用於localhost ,但無法在AEM as a Cloud Service (開發、階段或發佈)上運作。
- AEM Forms電子郵件端點處理速度比預期慢,或不以預期間隔。
根本原因
輸出SMTP失敗是由於以下一或多個原因:遺失進階網路連線埠轉送規則(AEMaaCS中所有外部SMTP連線都需要)、設定錯誤的OSGi郵件服務值(例如,使用直接SMTP連線埠而不是對應的portOrig)、不正確的認證或遺失AEMaaCS中的程式碼部署,或誤解AEM Forms電子郵件端點中的排程器和間隔行為。
要再現的步驟
- 由於設定路徑不同,請判斷環境是AEM as a Cloud Service還是AEM 6.5內部部署。
- 檢閱
EmailException或MailConnectException專案的錯誤記錄檔。 - 檢查郵件服務設定來源: Web主控台(AEM 6.5)中的
com.day.cq.mailer.DefaultMailService.cfg.json檔案(AEMaaCS)或天CQ郵件服務。 - 對於AEMaaCS,確認進階網路連線埠轉送將您的
portOrig(例如,30465或30587)對應到目的地連線埠(465或587)。
解決方法 resolution
若要修正問題:
- 識別環境型別 — AEM as a Cloud Service或AEM 6.5內部部署 — 因為兩者之間的郵件設定不同。
- 檢閱錯誤記錄。 針對AEMaaCS,請開啟Cloud Manager
>環境>記錄;針對AEM 6.5,請檢查error.log。 搜尋EmailException、MailConnectException和proxy.tunnel。 如果未顯示相關記錄,請在OSGi設定中設定smtp.debug=true。 - 找到郵件服務設定。 若為AEMaaCS,請檢閱您設定為程式碼的
com.day.cq.mailer.DefaultMailService.cfg.json;若為內部部署,請開啟位於/system/console/configMgr的Web主控台,並選取Day CQ Mail Service。 確認已填入SMTP主機、連線埠、使用者名稱、密碼和SSL值。 如果AEMaaCS中缺少設定,請將其部署為程式碼。 - 僅適用於AEM as a Cloud Service,驗證進階網路。 確認連線埠轉送會將您的
portOrig(例如30465或30587)對應到目的地連線埠(465或587)。 在OSGi設定中,smtp.host使用Proxy主機變數(AEM_PROXY_HOST,預設值proxy.tunnel),而smtp.port使用portOrig值。 如有需要,在Cloud Manager中更新portForwards設定。 - 僅適用於AEM as a Cloud Service,請正確設定SMTP連線埠和SSL。 對於啟用SSL的SMTP (目的地連線埠465),請將
smtp.port設定為您對應的30xxx連線埠和smtp.ssl=true(例如,portOrig30465對應到具有smtp.ssl=true的smtp.port30465)。 - 僅適用於AEM as a Cloud Service,請驗證環境變數。 在 Cloud Manager
>環境>設定 中,確認變數(例如EMAIL_USERNAME、EMAIL_PASSWORD和AEM_PROXY_HOST)存在且拼字正確,然後進行任何變更後重新部署。 - 僅適用於AEM 6.5內部部署,請設定Day CQ Mail Service。 在
/system/console/configMgr中,選取 Day CQ Mail Service 並設定SMTP主機、25或更新的連線埠、使用者和密碼,以及非空白的寄件者地址。 如果變更未生效,請重新啟動AEM。 - 僅適用於AEM Forms,驗證電子郵件端點。 複查重複間隔、批次大小和cron運算式,讓排程器以預期的時間處理批次,並視需要重新調整設定。
- 觸發傳送電子郵件的功能(表單提交、servlet呼叫或工作流程)以測試電子郵件傳送。 確認已收到電子郵件,且記錄檔顯示沒有任何
EmailException或MailConnectException的成功SMTP交握。 - 如果電子郵件仍然失敗,請連絡Adobe支援,提供
error.log顯示例外狀況的代碼片段、您的Day CQ郵件服務設定檔(AEMaaCScfg.json)、您的SMTP主機和連線埠對應詳細資料,並確認是否已啟用進階網路。
相關閱讀
recommendation-more-help
experience-cloud-kcs-help-kbarticles