AEM as a Cloud Service: SMTP-E-Mail-Versand schlägt fehl
Der SMTP-E-Mail-Versand kann in Adobe Experience Manager as a Cloud Service (AEMaaCS) fehlschlagen, wenn der E-Mail-Service so konfiguriert ist, dass er eine direkte Verbindung zu einem externen SMTP-Host an einem nicht standardmäßigen Port herstellt, oder wenn die erforderliche Konfiguration für die erweiterte Netzwerkport-Weiterleitung fehlt oder falsch ist. Beheben Sie das Problem, indem Sie das erweiterte Netzwerk für das SMTP-Ziel konfigurieren und den Day CQ Mail Service aktualisieren, um den Proxy-Host und den zugeordneten Proxy-Port zu verwenden.
Beschreibung description
Umgebung
Adobe Experience Manager as a Cloud Service (alle Versionen)
Problem/Symptome
Beim Versuch, E-Mails über SMTP zu senden, z. B. über Rollout-Vorgänge oder asynchrone Aufgaben, schlägt der E-Mail-Versand fehl. Die folgenden Fehler treten in den Protokollen auf:
Caused by: org.apache.commons.mail.EmailException: Sending the email to the following server failed : your-smtp-host:465
at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1298) [ org.apache.commons.commons-email:1.6.0]
...
Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: your-smtp-host, 465; timeout 60000
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2209) [ com.sun.mail.javax.mail:1.6.2]
...
Caused by: java.net.SocketTimeoutException: Connect timed out
at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:546)
- Der E-Mail-Versand schlägt für Aufträge oder Prozesse fehl, die SMTP verwenden.
- In den Protokollen werden Verbindungs-Timeouts angezeigt, wenn der E-Mail-Service versucht, eine Verbindung zum SMTP-Server über Port 465 herzustellen.
- Die Konfiguration des Day CQ Mail Service sollte überprüft werden, um sicherzustellen, dass AEM as a Cloud Service den erforderlichen Proxy-Host und den zugeordneten Proxy-Port verwendet, anstatt eine direkte Verbindung zum externen SMTP-Host und -Port herzustellen.
Ursache
In AEM as a Cloud Service kann die SMTP-Bereitstellung fehlschlagen, wenn ein nicht standardmäßiger SMTP-Port wie 465 ohne die erforderliche Konfiguration für die erweiterte Netzwerkportweiterleitung verwendet wird oder wenn der E-Mail-Service so konfiguriert ist, dass er den externen SMTP-Host und den Ziel-Port direkt anstelle des zugeordneten Proxy-Hosts und -Ports verwendet.
Lösung resolution
Führen Sie die folgenden Schritte aus, um das Problem zu lösen:
-
Stellen Sie sicher, dass Erweiterte Netzwerke für das AEM as a Cloud Service-Zielprogramm und die Zielumgebung aktiviert sind und dass Sie über die erforderlichen Berechtigungen zum Aktualisieren von Netzwerken und Konfigurationen verfügen.
-
Öffnen Sie in Cloud Manager das entsprechende Programm und die entsprechende Umgebung. Wechseln Sie zu Erweiterte Netzwerke und konfigurieren Sie eine Regel für den flexiblen Port-Ausgang für Ihren SMTP-Dienst. Verwenden Sie eine Regel, die dem folgenden Beispiel ähnelt. Ersetzen Sie dabei den Host-Namen und die Ports durch die von Ihrem SMTP-Provider benötigten Werte. Verwenden Sie einen geeigneten
portOrigim dokumentierten Bereich für Ihre Umgebung. Speichern Sie die Konfiguration und wenden Sie sie auf die Umgebung an.code language-json { "nonProxyHosts": [ ] , "portForwards": [ { "name": "smtp.example.com", "portDest": 465, "portOrig": 30465 } ] } -
Konfigurieren Sie den E-Mail-Service so, dass er den Proxy-Host und den zugeordneten Proxy-Port verwendet, anstatt eine direkte Verbindung zum externen SMTP-Host und Port herzustellen. Verwenden Sie die folgenden Werte:
smtp.host:$[ env:AEM_PROXY_HOST;default=proxy.tunnel]smtp.port:<mapped-port>(oder der oben konfigurierteportOrig)smtp.user: Ein geheimer, durch geheime Daten gesicherter Wert für Ihren SMTP-Benutzernamensmtp.password: Ein geheimer Wert für Ihr SMTP-Kennwortfrom.address: eine gültige Absenderadresse, z. B.no-reply@example.comsmtp.ssl:true, wenn der Ziel-SMTP-Service Port465verwendet
-
Geben Sie den SMTP-Benutzernamen und das Kennwort mithilfe einer unterstützten Konfiguration für geheime Daten für AEM as a Cloud Service an, anstatt literale Werte für Anmeldeinformationen im Code zu speichern.
-
Stellen Sie die aktualisierte Konfiguration über Ihren standardmäßigen Cloud Manager-Bereitstellungsprozess bereit und testen Sie dann den E-Mail-Versand, indem Sie einen Prozess erneut ausführen, der E-Mails sendet und bestätigt, dass die Verbindung erfolgreich hergestellt wurde.