透過設定AEM從AEMas a Cloud Service傳送電子郵件 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
透過Cloud Manager。smtp.port
設為 portForward.portOrig
映射到目標電子郵件服務的主機和埠的埠。 此範例使用對應: AEM_PROXY_HOST:30465
→ smtp.sendgrid.com:465
.
smpt.port
設為 portForward.portOrig
埠,而不是SMTP伺服器的實際埠。 之間的對應 smtp.port
和 portForward.portOrig
埠由Cloud Manager建立 portForwards
規則(如下所示)。由於機密不得儲存在代碼中,因此最好使用以下方式提供電子郵件服務的用戶名和密碼: 機密OSGi設定變數,請使用AIO CLI或Cloud Manager API進行設定。
通常, 靈活的埠輸出 用於滿足與電子郵件服務的整合,除非有必要 allowlist
AdobeIP,在這種情況下 專用的輸出ip地址 可供使用。
此外,請檢閱AEM檔案,位於 發送電子郵件.
下列進階網路選項支援下列程式碼範例。
確保 適當 在完成本教學課程之前,已設定進階網路設定。
無高級網路 | 靈活的埠輸出 | 專用的輸出IP地址 | 虛擬專用網 |
---|---|---|---|
✘ | ✔ | ✔ | ✔ |
此OSGi設定範例會透過下列Cloud Manager將AEM Mail OSGi服務設定為使用外部郵件服務 portForwards
規則 enableEnvironmentAdvancedNetworkingConfiguration 操作。
...
"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 DefaulMailService 如電子郵件提供者所要求(例如 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
命令
$ aio cloudmanager:set-environment-variables --programId=<PROGRAM_ID> <ENVIRONMENT_ID> --secret EMAIL_USERNAME "myApiKey" --secret EMAIL_PASSWORD "password123"