AEM as a Cloud ServiceでのSMTP接続エラーの解決
Adobe Experience Manager as a Cloud Service(AEMaaCS)では、外部メールサーバーに接続する際にSMTP接続タイムアウトが発生することがあります。これは、非HTTP ポートのダイレクトアウトバウンド SMTP接続がデフォルトでブロックされるためです。 SMTP トラフィックは、設定されたポートを転送する高度なネットワーク エグレス プロキシを使用する必要があります。 この問題を解決するには、ポート転送を設定し、Day CQ メールサービスを更新して、プロキシホストと転送ポートを使用します。
説明 description
環境
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- 高度なネットワーク有効
問題/症状
- AEM as a Cloud Serviceから外部SMTP エンドポイントへのメール送信が、接続タイムアウトで失敗する。
- AEMのログに、MailConnectExceptionや SocketTimeoutException などのエラーが表示されます。
- 外部メールサーバーは接続試行を受け取りません。
根本原因
AEM as a Cloud Serviceでは、HTTP以外のポート上のダイレクトアウトバウンド SMTP接続がデフォルトでブロックされます。 SMTP トラフィックは、設定されたポート転送を使用して、Advanced Networking エグレス プロキシを通じてルーティングする必要があります。
解決策 resolution
問題を解決するには、次の手順に従います。
-
Cloud Managerでは、アクセスする必要がある外部SMTP エンドポイントごとにAdvanced Networking port forwardingを設定します。 次に例を示します。
code language-none { "nonProxyHosts": [ ] , "portForwards": [ { "name": "", "portDest": 587, "portOrig": 30587 } ] }- サンプル値を実際のSMTP ホストに置き換え、
portOrigに使用可能な内部ポートを選択します。 - SMTP ポート (通常は
587)に一致するようにportDestを設定します。 - AEMがプロキシ経由で接続するために使用する内部ポートとして
portOrigを使用します。
- サンプル値を実際のSMTP ホストに置き換え、
-
Day CQ メールサービス (
com.day.cq.mailer.DefaultMailService)のOSGi設定を更新します。code language-none { "smtp.host": "$[ env:AEM_PROXY_HOST;default=proxy.tunnel] ", "smtp.port": "30587", // Use the portOrig value from your port forward "smtp.user": "", "smtp.password": "$[ secret:SMTP_PASSWORD] ", "from.address": "user@example.com", "smtp.ssl": false, "smtp.starttls": true, "smtp.requiretls": true }smtp.userやfrom.addressなどのサンプル値を、資格情報とアドレスに置き換えます。smtp.portがポートフォワード設定のportOrig値と一致していることを確認してください。
-
必要に応じて、更新されたCloud ManagerおよびOSGi設定をAEM環境(オーサーおよびパブリッシュ)にデプロイします。
-
AEMから電子メールを送信するテストを行い、外部SMTP サーバーを介した配信が成功したことを確認します。
-
それでも接続がタイムアウトする場合:
- 外部メールプロバイダーに、アドバンストネットワーク設定からAdobe エグレス IPを許可リストに加えるするように依頼します。
- 外部メールプロバイダーがSMTP ポートで受信した接続試行を見ていることを確認します。
recommendation-more-help
experience-cloud-kcs-help-kbarticles