電子郵件服務

通過配置從AEMas a Cloud Service發送電子郵AEM件 DefaultMailService 使用高級網路出口端。

由於(大多數)郵件服務不通過HTTP/HTTPS運行,因此必須代理從AEMas a Cloud Service到郵件服務的連接。

  • smtp.host 設定為OSGi環境變數 $[env:AEM_PROXY_HOST;default=proxy.tunnel] 所以它會穿過出口。
    • $[env:AEM_PROXY_HOST] 是一個保留變數,AEMas a Cloud Service映射到內部 proxy.tunnel 主機。
    • 不嘗試設定 AEM_PROXY_HOST 通過雲管理器。
  • smtp.port 設定為 portForward.portOrig 映射到目標電子郵件服務的主機和埠的埠。 此示例使用映射: AEM_PROXY_HOST:30002smtp.sendgrid.com:465
    • smpt.port 設定為 portForward.portOrig 埠,而不是SMTP伺服器的實際埠。 在 smtp.portportForward.portOrig 埠由雲管理器建立 portForwards 規則(如下所示)。

由於機密不能儲存在代碼中,因此最好使用以下方法提供電子郵件服務的用戶名和密碼 秘密OSGi配置變數,使用AIO CLI或Cloud Manager API設定。

通常, 柔性埠出口 用於滿足與電子郵件服務的整合,除非 allowlist AdobeIP,在這種情況下 專用出口ip地址 可使用。

高級網路支援

以下高級網路選項支援以下代碼示例。

確保 適當 本教程之後,高級網路配置已設定完畢。

無高級網路 靈活的埠出口 專用出口IP地址 虛擬專用網路

OSGi配置

此OSGi配置示例通AEM過以下Cloud Manager將Mail OSGi服務配置為使用外部郵件服務 portForwards 規則 enableEnvironmentAdvancedNetworkingConfiguration 的下界。

...
"portForwards": [{
    "name": "smtp.mymail.com",
    "portDest": 465,
    "portOrig": 30002
}]
...
  • ui.config/src/jcr_root/apps/wknd-examples/osgiconfig/config/com.day.cq.mailer.DefaultMailService.cfg.json

配AEM置 預設郵件服務 按您的電子郵件提供商的要求(例如 smtp.ssl等)。

{
    "smtp.host": "$[env:AEM_PROXY_HOST;default=proxy.tunnel]",
    "smtp.port": "30002",
    "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_USERNAMEEMAIL_PASSWORD OSGi變數和密鑰可以按環境設定,使用以下任一方法:

  • 雲管理器環境配置

  • 或使用 aio CLI 命令

    $ aio cloudmanager:set-environment-variables --programId=<PROGRAM_ID> <ENVIRONMENT_ID> --secret EMAIL_USERNAME "myApiKey" --secret EMAIL_PASSWORD "password123"
    

本頁內容