通過配置從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:30002
→ smtp.sendgrid.com:465
。
smpt.port
設定為 portForward.portOrig
埠,而不是SMTP伺服器的實際埠。 在 smtp.port
和 portForward.portOrig
埠由雲管理器建立 portForwards
規則(如下所示)。由於機密不能儲存在代碼中,因此最好使用以下方法提供電子郵件服務的用戶名和密碼 秘密OSGi配置變數,使用AIO CLI或Cloud Manager API設定。
通常, 柔性埠出口 用於滿足與電子郵件服務的整合,除非 allowlist
AdobeIP,在這種情況下 專用出口ip地址 可使用。
以下高級網路選項支援以下代碼示例。
確保 適當 本教程之後,高級網路配置已設定完畢。
無高級網路 | 靈活的埠出口 | 專用出口IP地址 | 虛擬專用網路 |
---|---|---|---|
✘ | ✔ | ✔ | ✔ |
此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_USERNAME
和 EMAIL_PASSWORD
OSGi變數和密鑰可以按環境設定,使用以下任一方法:
或使用 aio CLI
命令
$ aio cloudmanager:set-environment-variables --programId=<PROGRAM_ID> <ENVIRONMENT_ID> --secret EMAIL_USERNAME "myApiKey" --secret EMAIL_PASSWORD "password123"