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 interna proxy.tunnel-värden.
    • Försök INTE att ange AEM_PROXY_HOST via Cloud Manager.
  • smtp.port är inställd på porten portForward.portOrig som mappar till målets e-posttjänst och port. I det här exemplet används mappningen: AEM_PROXY_HOST:30465smtp.sendgrid.com:465.

    • smpt.port är inställd på porten portForward.portOrig och INTE på SMTP-serverns faktiska port. Mappningen mellan smtp.port och portForward.portOrig-porten upprättas av Cloud Manager portForwards-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:

  • Cloud Manager-miljökonfiguration

  • 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"
    
recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69