E-Mail-Dienst

Senden Sie E-Mails von AEM as a Cloud Service durch Konfiguration des DefaultMailService von AEM zur Verwendung erweiterter Netzwerk-Ausgangs-Ports.

Da E-Mail-Dienste (meist) nicht über HTTP/HTTPS ausgeführt werden, müssen Verbindungen zu E-Mail-Diensten von AEM as a Cloud Service über ein Proxy gehen.

  • smtp.host ist auf die OSGi-Umgebungsvariable $[env:AEM_PROXY_HOST;default=proxy.tunnel] eingestellt, damit er durch den Ausgang geroutet wird.

    • $[env:AEM_PROXY_HOST] ist eine reservierte Variable, die AEM as a Cloud Service dem internen proxy.tunnel-Host zuordnet.
    • Versuchen Sie NICHT, den AEM_PROXY_HOST über Cloud Manager festzulegen.
  • smtp.port ist auf den portForward.portOrig-Port festgelegt, dem der Host und Port des Ziel-E-Mail-Diensts zugeordnet ist. In diesem Beispiel wird folgende Zuordnung verwendet: AEM_PROXY_HOST:30465smtp.sendgrid.com:465.

    • Der smpt.port ist auf den Port portForward.portOrig festgelegt und NICHT auf den tatsächlichen Port des SMTP-Servers. Die Zuordnung zwischen dem Port smtp.port und dem Port portForward.portOrig wird von der portForwards-Regel von Cloud Manager eingerichtet (wie unten dargestellt).

Da Geheimnisse nicht im Code gespeichert werden dürfen, sollten Benutzername und Kennwort des E-Mail-Dienstes am besten mit einem geheimen OSGi-Konfigurationsvariablen-Satz mithilfe der AIO CLI oder der Cloud Manager-API bereitgestellt werden.

In der Regel wird ein flexibler Port-Ausgang verwendet, um die Integration mit einem E-Mail-Dienst zu gewährleisten, es sei denn, es ist erforderlich, die Adobe-IP auf die allowlist zu setzen; in diesem Fall kann eine dedizierte Ausgangs-IP-Adresse verwendet werden.

Weitere Informationen finden Sie in der AEM-Dokumentation zum Versand einer E-Mail.

Erweiterte Netzwerkunterstützung

Das folgende Code-Beispiel wird von den folgenden erweiterten Netzwerkoptionen unterstützt.

Stellen Sie sicher, dass vor diesem Tutorial die geeignete erweiterte Netzwerkkonfiguration eingerichtet wurde.

Keine erweiterten Netzwerkfunktionen
Flexibler Port-Ausgang
Dedizierte Ausgangs-IP-Adresse
Virtuelles privates Netzwerk

OSGi-Konfiguration

In diesem OSGi-Konfigurationsbeispiel wird der AEM-E-Mail-OSGi-Dienst für die Verwendung eines externen E-Mail-Dienstes mit der folgenden portForwards-Regel von Cloud Manager vom Vorgang enableEnvironmentAdvancedNetworkingConfiguration konfiguriert.

...
"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

Konfigurieren Sie den DefaulMailService von AEM, wie es Ihr E-Mail-Anbieterunternehmen erfordert (z. B. smtp.ssl usw.).

{
    "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
}

Die OSGi-Variablen und -Geheimnisse EMAIL_USERNAME und EMAIL_PASSWORD können pro Umgebung festgelegt werden, indem Sie eine der folgenden Optionen verwenden:

  • Cloud Manager-Umgebungskonfiguration

  • oder unter Verwendung des Befehls 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