由於郵件服務或進階網路設定錯誤,AEM無法傳送傳出SMTP電子郵件

AEM環境可能無法傳送傳出電子郵件,其中記錄顯示SMTP連線錯誤(例如EmailExceptionMailConnectException),以及在本機運作但無法在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內部部署。
  • 檢閱EmailExceptionMailConnectException專案的錯誤記錄檔。
  • 檢查郵件服務設定來源: Web主控台(AEM 6.5)中的com.day.cq.mailer.DefaultMailService.cfg.json檔案(AEMaaCS)或天CQ郵件服務
  • 對於AEMaaCS,確認進階網路連線埠轉送將您的portOrig (例如,30465或30587)對應到目的地連線埠(465或587)。

解決方法 resolution

若要修正問題:

  1. 識別環境型別 — AEM as a Cloud Service或AEM 6.5內部部署 — 因為兩者之間的郵件設定不同。
  2. 檢閱錯誤記錄。 針對AEMaaCS,請開啟Cloud Manager > 環境> 記錄;針對AEM 6.5,請檢查error.log。 搜尋EmailExceptionMailConnectExceptionproxy.tunnel。 如果未顯示相關記錄,請在OSGi設定中設定smtp.debug=true
  3. 找到郵件服務設定。 若為AEMaaCS,請檢閱您設定為程式碼的com.day.cq.mailer.DefaultMailService.cfg.json;若為內部部署,請開啟位於/system/console/configMgr的Web主控台,並選取Day CQ Mail Service。 確認已填入SMTP主機、連線埠、使用者名稱、密碼和SSL值。 如果AEMaaCS中缺少設定,請將其部署為程式碼。
  4. 僅適用於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設定。
  5. 僅適用於AEM as a Cloud Service,請正確設定SMTP連線埠和SSL。 對於啟用SSL的SMTP (目的地連線埠465),請將smtp.port設定為您對應的30xxx連線埠和smtp.ssl=true (例如,portOrig30465對應到具有smtp.ssl=truesmtp.port30465)。
  6. 僅適用於AEM as a Cloud Service,請驗證環境變數。 在 Cloud Manager >環境>設定 中,確認變數(例如EMAIL_USERNAMEEMAIL_PASSWORDAEM_PROXY_HOST)存在且拼字正確,然後進行任何變更後重新部署。
  7. 僅適用於AEM 6.5內部部署,請設定Day CQ Mail Service。 在/system/console/configMgr中,選取 Day CQ Mail Service 並設定SMTP主機、25或更新的連線埠、使用者和密碼,以及非空白的寄件者地址。 如果變更未生效,請重新啟動AEM。
  8. 僅適用於AEM Forms,驗證電子郵件端點。 複查重複間隔、批次大小和cron運算式,讓排程器以預期的時間處理批次,並視需要重新調整設定。
  9. 觸發傳送電子郵件的功能(表單提交、servlet呼叫或工作流程)以測試電子郵件傳送。 確認已收到電子郵件,且記錄檔顯示沒有任何EmailExceptionMailConnectException的成功SMTP交握。
  10. 如果電子郵件仍然失敗,請連絡Adobe支援,提供error.log顯示例外狀況的代碼片段、您的Day CQ郵件服務設定檔(AEMaaCS cfg.json)、您的SMTP主機和連線埠對應詳細資料,並確認是否已啟用進階網路。

相關閱讀

recommendation-more-help
experience-cloud-kcs-help-kbarticles