E-posttjänst
Skicka e-postmeddelanden från AEM as a Cloud Service genom att konfigurera AEM DefaultMailService
så att avancerade nätverksportar används.
Eftersom (de flesta) e-posttjänster inte körs via HTTP/HTTPS måste anslutningar till e-posttjänster från AEM as a Cloud Service proxideras.
-
smtp.host
är inställd på OSGi-miljövariabeln$[env:AEM_PROXY_HOST;default=proxy.tunnel]
så den dirigeras genom utgången.$[env:AEM_PROXY_HOST]
är en reserverad variabel som AEM as a Cloud Service mappar till den internaproxy.tunnel
-värden.- Försök INTE att ange
AEM_PROXY_HOST
via Cloud Manager.
-
smtp.port
är inställd på portenportForward.portOrig
som mappar till målets e-posttjänst och port. I det här exemplet används mappningen:AEM_PROXY_HOST:30465
→smtp.sendgrid.com:465
.smpt.port
är inställd på portenportForward.portOrig
och INTE på SMTP-serverns faktiska port. Mappningen mellansmtp.port
ochportForward.portOrig
-porten upprättas av Cloud ManagerportForwards
-regeln (som visas nedan).
Eftersom hemligheter inte får lagras i kod bör e-posttjänstens användarnamn och lösenord anges med hemliga OSGi-konfigurationsvariabler, som anges med AIO CLI eller Cloud Manager API.
Vanligtvis används flexibel portutgång för att underlätta integrering med en e-posttjänst, såvida det inte är nödvändigt att allowlist
IP-adressen för Adobe, och i så fall kan dedikerad IP-adress användas.
Granska även AEM dokumentation om att skicka e-post.
Avancerat nätverksstöd
Följande kodexempel stöds av följande avancerade nätverksalternativ.
Kontrollera att den lämpliga avancerade nätverkskonfigurationen har konfigurerats innan du följer den här självstudien.
OSGi-konfiguration
I det här OSGi-konfigurationsexemplet konfigureras AEM Mail OSGi-tjänsten att använda en extern e-posttjänst med hjälp av följande Cloud Manager portForwards
-regel i åtgärden 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
Konfigurera AEM DefaultMailService enligt e-postleverantörens behov (t.ex. 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
}
Variabeln och hemligheten EMAIL_USERNAME
och EMAIL_PASSWORD
OSGi kan anges per miljö, antingen med:
-
eller med kommandot
aio CLI
code language-shell $ aio cloudmanager:set-environment-variables --programId=<PROGRAM_ID> <ENVIRONMENT_ID> --secret EMAIL_USERNAME "myApiKey" --secret EMAIL_PASSWORD "password123"