E-mail SMTP di AEM as a Cloud Service non funziona o non può essere configurato
AEM as a Cloud Service non include un server SMTP e non può connettersi agli host SMTP interni o AMS, pertanto l’e-mail non riesce quando i clienti si aspettano un server integrato o tentano di utilizzare un inoltro aziendale o legacy. Tutti i messaggi e-mail in uscita devono passare attraverso un provider SMTP pubblico autenticato fornito dal cliente e instradato attraverso la rete avanzata e gli ambienti sandbox non supportano la rete avanzata, quindi SMTP non può funzionare lì. La selezione di un provider SMTP esterno, la configurazione dell’inoltro delle porte di rete avanzato e l’aggiunta della configurazione OSGi del servizio di posta consentono la consegna di e-mail dagli ambienti di stage e produzione.
Descrizione description
Ambienti:
- Adobe Experience Manager as a Cloud Service (AEMaaCS)
- AEM Assets Essentials
- Cloud Manager (rete avanzata)
- Ambienti di stage e produzione (sandbox e RDE non supportano le reti avanzate)
Problema/Sintomi:
- L’e-mail funziona su localhost ma non riesce su AEM Cloud, con 500 errori quando il codice viene distribuito a Author o Publish.
- Impossibile completare la configurazione SMTP perché il cliente si aspettava che Adobe fornisse un server SMTP.
- Non è possibile inviare e-mail in ambienti Sandbox perché la rete avanzata non è supportata.
- I tentativi di utilizzare un server SMTP solo interno non riescono perché AEMaaCS richiede un endpoint SMTP pubblico autenticato.
Causa principale:
AEM as a Cloud Service non fornisce un server SMTP e non può connettersi agli host SMTP interni. Tutte le e-mail in uscita devono utilizzare un provider SMTP esterno pubblico fornito dal cliente e instradato attraverso la rete avanzata. Gli ambienti sandbox non supportano la rete avanzata, quindi SMTP non è disponibile. I tentativi di utilizzare i server SMTP non SLA forniti da AMS non riescono perché non sono raggiungibili dall’ambiente AEMaaCS Kubernetes.
Come confermare
- Determina se l’ambiente supporta SMTP. Identifica se l’ambiente è Sandbox, RDE, Stage o Produzione. SMTP non è supportato in Sandbox o RDE, pertanto il test deve essere eseguito in un ambiente di stage o di produzione.
- Verificare che l’endpoint SMTP previsto sia esterno e pubblico. AEMaaCS non è in grado di raggiungere gli host SMTP interni o AMS, pertanto un server solo interno non funziona indipendentemente dalla configurazione.
Risoluzione resolution
Per risolvere il problema, segui la procedura riportata di seguito:
-
Selezionare e preparare un provider SMTP esterno. Scegliere un provider SMTP pubblico e autenticato e ottenere l’host, la porta, il nome utente e la password. Queste credenziali provengono dal provider di posta elettronica. Adobe non fornisce le credenziali SMTP.
-
Configurare la rete avanzata in Cloud Manager. Crea
portForwardsconportOrigimpostato nell’intervallo 30000-30999 eportDestimpostato su 465 o 587 a seconda del provider SMTP. Verificare che il JSON della pipeline Cloud Manager includa un bloccoportForwards. -
Aggiungi la configurazione OSGi del servizio di posta al tuo archivio. Crea
ui.config/src/jcr_root/apps/<project>/osgiconfig/config/com.day.cq.mailer.DefaultMailService.cfg.jsoncon questi valori:smtp.host= $[env:AEM_PROXY_HOST;default=proxy.tunnel]smtp.port= il valoreportOrigdel passaggio precedente (ad esempio: 30465 o 30587)smtp.ssl= true quando si utilizza la porta 465 o false quando si utilizza la porta 587
-
Ridistribuisci tramite Cloud Manager. Esegui una pipeline di distribuzione completa, quindi apri
/system/console/configMgr(di sola lettura ma visibile in AEMaaCS) e conferma checom.day.cq.mailer.DefaultMailServicerifletta i valori configurati. -
Verificare la connettività SMTP. Attiva un’e-mail del flusso di lavoro di AEM o invia un messaggio e-mail tramite un servlet personalizzato, quindi controlla i registri del provider SMTP per verificare la presenza di una connessione autenticata. Se la consegna è bloccata, verifica se il provider la sta rifiutando a causa di DKIM/DMARC, che viene gestito a livello di provider SMTP anziché in AEM.
Convalida
- La conferma di un’e-mail inviata da AEM viene visualizzata nei registri del dashboard del provider SMTP.
- Confermare che Day CQ Mail Service mostri
smtp.host= proxy.tunnel e unsmtp.portnell’intervallo 30000-30999 nella console OSGi. - Verificare che AEM
error.lognon mostri errori di connessione SMTP.