電子郵件服務
透過設定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檔案,網址為 傳送電子郵件.
進階網路支援
下列進階網路選項支援下列程式碼範例。
確保 適當 在學習本教學課程之前,已設定進階網路設定。
OSGi設定
此OSGi設定範例透過以下Cloud Manager將AEM Mail OSGi Service設定為使用外部郵件服務 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 預設郵件服務 根據您的電子郵件提供者的要求(例如 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"