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

  1. 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.
  2. 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:

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

  2. Configurare la rete avanzata in Cloud Manager. Crea portForwards con portOrig impostato nell’intervallo 30000-30999 e portDest impostato su 465 o 587 a seconda del provider SMTP. Verificare che il JSON della pipeline Cloud Manager includa un blocco portForwards.

  3. 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.json con questi valori:

    • smtp.host = $[ env:AEM_PROXY_HOST;default=proxy.tunnel]
    • smtp.port = il valore portOrig del passaggio precedente (ad esempio: 30465 o 30587)
    • smtp.ssl = true quando si utilizza la porta 465 o false quando si utilizza la porta 587
  4. Ridistribuisci tramite Cloud Manager. Esegui una pipeline di distribuzione completa, quindi apri /system/console/configMgr (di sola lettura ma visibile in AEMaaCS) e conferma che com.day.cq.mailer.DefaultMailService rifletta i valori configurati.

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

  1. La conferma di un’e-mail inviata da AEM viene visualizzata nei registri del dashboard del provider SMTP.
  2. Confermare che Day CQ Mail Service mostri smtp.host = proxy.tunnel e un smtp.port nell’intervallo 30000-30999 nella console OSGi.
  3. Verificare che AEM error.log non mostri errori di connessione SMTP.

Lettura correlata

recommendation-more-help
experience-cloud-kcs-help-kbarticles