AEM as a Cloud Service-SMTP-E-Mail funktioniert nicht oder kann nicht konfiguriert werden
AEM as a Cloud Service umfasst keinen SMTP-Server und kann keine Verbindung zu internen oder AMS-SMTP-Hosts herstellen. E-Mail schlägt daher fehl, wenn Kunden einen integrierten Server erwarten oder versuchen, ein Unternehmens- oder Legacy-Relais zu verwenden. Alle ausgehenden E-Mails müssen über einen vom Kunden bereitgestellten öffentlichen, authentifizierten SMTP-Provider erfolgen, der über erweiterte Netzwerke geleitet wird, und Sandbox-Umgebungen unterstützen keine erweiterten Netzwerke, sodass SMTP dort nicht funktionieren kann. Wenn Sie einen externen SMTP-Provider auswählen, die Port-Weiterleitung für erweiterte Netzwerke konfigurieren und die OSGi-Konfiguration des E-Mail-Services hinzufügen, wird der E-Mail-Versand aus der Staging- und Produktionsumgebung ermöglicht.
Beschreibung description
Umgebungen:
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- Adobe Experience Manager Assets Essentials
- Cloud Manager (Erweiterte Netzwerke)
- Staging- und Produktionsumgebungen (Sandbox und RDE unterstützen keine erweiterten Netzwerkfunktionen)
Problem/Symptome:
- E-Mail funktioniert auf localhost, schlägt in AEM Cloud jedoch fehl und verursacht 500 Fehler, wenn der Code auf der Autoren- oder der Veröffentlichungsinstanz bereitgestellt wird.
- Die SMTP-Konfiguration kann nicht abgeschlossen werden, da der Kunde erwartet hat, dass Adobe einen SMTP-Server bereitstellt.
- In Sandbox-Umgebungen können keine E-Mails gesendet werden, da erweiterte Netzwerke dort nicht unterstützt werden.
- Der Versuch, einen internen SMTP-Server zu verwenden, schlägt fehl, da AEMaaCS einen öffentlichen authentifizierten SMTP-Endpunkt benötigt.
Grundursache:
AEM as a Cloud Service stellt keinen SMTP-Server bereit und kann keine Verbindung zu internen SMTP-Hosts herstellen. Alle ausgehenden E-Mails müssen einen vom Kunden bereitgestellten öffentlichen externen SMTP-Provider verwenden, der über das erweiterte Netzwerk weitergeleitet wird. Sandbox-Umgebungen unterstützen keine erweiterten Netzwerkfunktionen, sodass dort kein SMTP möglich ist. Versuche, von AMS bereitgestellte Nicht-SLA-SMTP-Server zu verwenden, schlagen fehl, da sie von der AEMaaCS-Kubernetes-Umgebung aus nicht erreichbar sind.
Wie kann ich bestätigen
- Stellen Sie fest, ob die Umgebung SMTP unterstützt. Geben Sie an, ob die Umgebung Sandbox, RDE, Staging oder Produktion ist. SMTP wird in Sandbox oder RDE nicht unterstützt, sodass Tests in einer Staging- oder Produktionsumgebung durchgeführt werden müssen.
- Überprüfen Sie, ob der beabsichtigte SMTP-Endpunkt extern und öffentlich ist. AEMaaCS kann keine internen AMS- oder SMTP-Hosts erreichen, sodass ein nur interner Server unabhängig von der Konfiguration nicht funktioniert.
Lösung resolution
Führen Sie zur Behebung des Problems folgende Schritte aus:
-
Wählen Sie einen externen SMTP-Provider aus und bereiten Sie ihn vor. Wählen Sie einen öffentlichen, authentifizierten SMTP-Provider aus und beziehen Sie dessen Host, Port, Benutzernamen und Kennwort. Diese Anmeldeinformationen stammen von Ihrem E-Mail-Anbieter - Adobe stellt keine SMTP-Anmeldeinformationen bereit.
-
Konfigurieren der erweiterten Vernetzung in Cloud Manager. Erstellen Sie
portForwardsmitportOrig, die im Bereich 30000-30999 und je nach SMTP-Anbieter auf 465 oder 587 eingestelltportDest. Bestätigen Sie, dass die JSON-Datei der Cloud Manager-Pipeline einenportForwardsenthält. -
Fügen Sie die OSGi-Konfiguration des E-Mail-Dienstes zu Ihrem Repository hinzu. Erstellen
ui.config/src/jcr_root/apps/<project>/osgiconfig/config/com.day.cq.mailer.DefaultMailService.cfg.jsonmit diesen Werten:smtp.host= $[env:AEM_PROXY_HOST;default=proxy.tunnel]smtp.port= derportOrigWert aus dem vorherigen Schritt (z. B.: 30465 oder 30587)smtp.ssl= true bei Verwendung von Port 465 oder false bei Verwendung von Port 587
-
Erneutes Bereitstellen über Cloud Manager. Führen Sie eine vollständige Bereitstellungs-Pipeline aus und öffnen Sie dann
/system/console/configMgr(schreibgeschützt, aber in AEMaaCS sichtbar) und bestätigen Sie,com.day.cq.mailer.DefaultMailServicedie konfigurierten Werte widerspiegelt. -
Überprüfen Sie die SMTP-Konnektivität. Erstellen Sie einen Trigger für eine AEM-Workflow-E-Mail oder senden Sie eine E-Mail über ein benutzerdefiniertes Servlet und überprüfen Sie dann die Protokolle Ihres SMTP-Anbieters auf eine authentifizierte Verbindung. Wenn der Versand blockiert wird, überprüfen Sie, ob der Provider die Zustellung aufgrund von DKIM/DMARC ablehnt, das auf SMTP-Provider-Ebene und nicht in AEM verarbeitet wird.
Validierung
- Eine von AEM gesendete E-Mail wird in den Dashboard-Protokollen des SMTP-Anbieters angezeigt.
- Bestätigen Sie, dass der Day CQ Mail Service in der OSGi Konsole
smtp.host= proxy.tunnel und einesmtp.portim 30000-30999 Bereich anzeigt. - Bestätigen Sie, dass der AEM-
error.logkeine SMTP-Verbindungsfehler anzeigt.