メールサービス
AEM の DefaultMailService を高度なネットワークエグレスポートを使用するように設定して、AEM as a Cloud Service からメールを送信します。
(ほとんどの)メールサービスは HTTP/HTTPS 経由で実行されないので、AEM as a Cloud Service からメールサービスへの接続はプロキシ化する必要があります。
- 
                  
smtp.hostは OSGi 環境変数$[env:AEM_PROXY_HOST;default=proxy.tunnel]に設定されているので、エグレスを通過します。$[env:AEM_PROXY_HOST]は、AEM as a Cloud Service が内部proxy.tunnelホストにマッピングする予約変数です。AEM_PROXY_HOSTを Cloud Manager 経由で設定しようとしないでください。
 - 
                  
smtp.portは、宛先のメールサービスのホストおよびポートにマッピングするportForward.portOrigポートに設定されています。この例では、次のマッピングを使用します。AEM_PROXY_HOST:30465→smtp.sendgrid.com:465smpt.portはportForward.portOrigポートに設定されています。SMTP サーバーの実際のポートではありません。smtp.portとportForward.portOrigポート間のマッピングは Cloud Manager のportForwardsルールによって確立されます(実際の例が後述されています)。
 
秘密鍵はコードに格納できないので、メールサービスのユーザー名とパスワードは秘密鍵の OSGi 設定変数を使用して指定するのが最善で、AIO CLI または Cloud Manager API を使用して設定されます。
通常、フレキシブルポートエグレスは、メールサービスとの統合を満たすために使用されます。ただし、Adobe IP を allowlist することが必要な場合は別で、この場合は専用のエグレス IP アドレスを使用できます。
さらに、メールの送信に関する AEM ドキュメントを確認します。
高度なネットワーク機能のサポート
次のコードサンプルは、以下の高度なネットワーク機能オプションでサポートされています。
このチュートリアルを開始する前に、高度なネットワーク機能の設定が適切にセットアップされていることを確認してください。
OSGi 設定
この OSGi 設定の例では、以下の Cloud Manager の enableEnvironmentAdvancedNetworkingConfiguration 操作の portForwards ルールを使用する方法によって、AEM の Mail OSGi Service を外部のメールサービスを使用するように設定しています。
...
"portForwards": [{
    "name": "smtp.mymail.com",
    "portDest": 465,
    "portOrig": 30465
}]
...
            ui.config/src/jcr_root/apps/wknd-examples/osgiconfig/config/com.day.cq.mailer.DefaultMailService.cfg.json
AEM の DefaultMailService を、メールプロバイダーに要求されている通りに設定します(例:smtp.ssl など)。
{
    "smtp.host": "$[env:AEM_PROXY_HOST;default=proxy.tunnel]",
    "smtp.port": "30465",
    "smtp.user": "$[env:EMAIL_USERNAME;default=myApiKey]",
    "smtp.password": "$[secret:EMAIL_PASSWORD]",
    "from.address": "noreply@wknd.site",
    "smtp.ssl": true,
    "smtp.starttls": false,
    "smtp.requiretls": false,
    "debug.email": false,
    "oauth.flow": false
}
            EMAIL_USERNAME および EMAIL_PASSWORD OSGi 変数と秘密鍵は、次のいずれかを使用して、環境ごとに設定できます。
- 
                  
または
aio CLIコマンドの使用code language-shell $ aio cloudmanager:set-environment-variables --programId=<PROGRAM_ID> <ENVIRONMENT_ID> --secret EMAIL_USERNAME "myApiKey" --secret EMAIL_PASSWORD "password123"