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

問題を解決するには、次の手順に従います。

  1. Cloud Managerでは、アクセスする必要がある外部SMTP エンドポイントごとにAdvanced Networking port forwardingを設定します。 次に例を示します。

    code language-none
    {
      "nonProxyHosts": [ ] ,
      "portForwards": [
        {
          "name": "",
          "portDest": 587,
          "portOrig": 30587
        }
      ]
    }
    
    • サンプル値を実際のSMTP ホストに置き換え、portOrigに使用可能な内部ポートを選択します。
    • SMTP ポート (通常は587)に一致するようにportDestを設定します。
    • AEMがプロキシ経由で接続するために使用する内部ポートとしてportOrigを使用します。
  2. 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値と一致していることを確認してください。
  3. 必要に応じて、更新されたCloud ManagerおよびOSGi設定をAEM環境(オーサーおよびパブリッシュ)にデプロイします。

  4. AEMから電子メールを送信するテストを行い、外部SMTP サーバーを介した配信が成功したことを確認します。

  5. それでも接続がタイムアウトする場合:

    • 外部メールプロバイダーに、アドバンストネットワーク設定からAdobe エグレス IPを許可リストに加えるするように依頼します。
    • 外部メールプロバイダーがSMTP ポートで受信した接続試行を見ていることを確認します。
recommendation-more-help
experience-cloud-kcs-help-kbarticles