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.hostist 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 internenproxy.tunnel-Host zuordnet.- Versuchen Sie NICHT, den
AEM_PROXY_HOSTüber Cloud Manager festzulegen.
-
smtp.portist auf denportForward.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:30465→smtp.sendgrid.com:465.- Der
smpt.portist auf den PortportForward.portOrigfestgelegt und NICHT auf den tatsächlichen Port des SMTP-Servers. Die Zuordnung zwischen dem Portsmtp.portund dem PortportForward.portOrigwird von derportForwards-Regel von Cloud Manager eingerichtet (wie unten dargestellt).
- Der
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.
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:
-
oder unter Verwendung des Befehls
aio CLIcode language-shell $ aio cloudmanager:set-environment-variables --programId=<PROGRAM_ID> <ENVIRONMENT_ID> --secret EMAIL_USERNAME "myApiKey" --secret EMAIL_PASSWORD "password123"