AEM as a Cloud Service: consegna e-mail SMTP non riuscita
Il recapito e-mail SMTP può non riuscire in Adobe Experience Manager as a Cloud Service (AEMaaCS) quando il servizio di posta è configurato per connettersi direttamente a un host SMTP esterno su una porta non predefinita o quando la configurazione richiesta dell’inoltro porta di rete avanzato risulta mancante o errata. Risolvere il problema configurando Advanced Networking per la destinazione SMTP e aggiornando Day CQ Mail Service per utilizzare l’host proxy e la porta proxy mappata.
Descrizione description
Ambiente
Adobe Experience Manager as a Cloud Service (tutte le versioni)
Problema/Sintomi
Quando si tenta di inviare e-mail tramite SMTP, ad esempio tramite processi di rollout o attività asincrone, la consegna delle e-mail non riesce. Nei registri vengono rilevati i seguenti errori:
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)
- L’invio di e-mail non riesce per i processi che utilizzano SMTP.
- I registri mostrano i timeout di connessione quando il servizio di posta tenta di connettersi al server SMTP sulla porta 465.
- È necessario rivedere la configurazione del servizio di posta Day CQ per verificare che AEM as a Cloud Service utilizzi l’host proxy richiesto e la porta proxy mappata, anziché connettersi direttamente all’host e alla porta SMTP esterni.
Causa principale
In AEM as a Cloud Service, la consegna SMTP può non riuscire quando viene utilizzata una porta SMTP non predefinita, ad esempio 465, senza la configurazione di inoltro della porta di rete avanzata richiesta oppure quando il servizio di posta è configurato per utilizzare direttamente l’host SMTP esterno e la porta di destinazione, anziché l’host e la porta proxy mappati.
Risoluzione resolution
Per risolvere il problema, effettua le seguenti operazioni:
-
Assicurati che la funzione Advanced Networking sia abilitata per il programma e l’ambiente AEM as a Cloud Service di destinazione e che tu disponga delle autorizzazioni necessarie per aggiornare la rete e la configurazione.
-
In Cloud Manager, apri il programma e l’ambiente pertinenti. Vai a Rete avanzata e configura una regola di uscita dalla porta flessibile per il servizio SMTP. Utilizza una regola simile all’esempio seguente, sostituendo il nome host e le porte con i valori richiesti dal provider SMTP. Utilizza un valore
portOrigappropriato nell’intervallo documentato per il tuo ambiente. Salva e applica la configurazione all’ambiente.code language-json { "nonProxyHosts": [ ] , "portForwards": [ { "name": "smtp.example.com", "portDest": 465, "portOrig": 30465 } ] } -
Configurare il servizio di posta in modo che utilizzi l’host proxy e la porta proxy mappata anziché connettersi direttamente all’host e alla porta SMTP esterni. Utilizza i seguenti valori:
smtp.host:$[ env:AEM_PROXY_HOST;default=proxy.tunnel]smtp.port:<mapped-port>(o il valoreportOrigconfigurato in precedenza)smtp.user: un valore basato su segreto per il nome utente SMTPsmtp.password: un valore basato su segreto per la password SMTPfrom.address: un indirizzo mittente valido, ad esempiono-reply@example.comsmtp.ssl:truequando il servizio SMTP di destinazione utilizza la porta465
-
Fornisci il nome utente e la password SMTP utilizzando la configurazione supportata basata su segreto per AEM as a Cloud Service anziché archiviare i valori delle credenziali letterali nel codice.
-
Distribuisci la configurazione aggiornata tramite il processo di distribuzione Cloud Manager standard, quindi verifica la consegna e-mail eseguendo nuovamente un processo che invia e-mail e confermando che la connessione ha esito positivo.