AEM as a Cloud Service: Error en la entrega de correo electrónico SMTP
La entrega de correo electrónico SMTP puede fallar en Adobe Experience Manager as a Cloud Service (AEMaaCS) cuando el servicio de correo está configurado para conectarse directamente a un host SMTP externo en un puerto no predeterminado o cuando falta la configuración necesaria del reenvío de puertos de red avanzada o es incorrecta. Resuelva el problema configurando la red avanzada para el destino SMTP y actualizando el servicio de correo de CQ Day para utilizar el host proxy y el puerto proxy asignado.
Descripción description
Entorno
Adobe Experience Manager as a Cloud Service (todas las versiones)
Problema/Síntomas
Al intentar enviar correos electrónicos a través de SMTP, como trabajos de despliegue o tareas asincrónicas, la entrega de correo electrónico falla. En los registros se observan los siguientes errores:
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)
- El envío de correo electrónico falla en los trabajos o procesos que utilizan SMTP.
- Los registros muestran tiempos de espera de conexión cuando el servicio de correo intenta conectarse al servidor SMTP en el puerto 465.
- La configuración del servicio de correo de CQ diario debe revisarse para confirmar que AEM as a Cloud Service está utilizando el host proxy necesario y el puerto proxy asignado en lugar de conectarse directamente al host y al puerto SMTP externo.
Causa principal
En AEM as a Cloud Service, la entrega SMTP puede fallar cuando se utiliza un puerto SMTP no predeterminado como 465 sin la configuración de reenvío de puertos de red avanzada necesaria, o cuando el servicio de correo está configurado para utilizar el host SMTP externo y el puerto de destino directamente en lugar del host y el puerto proxy asignados.
Resolución resolution
Pruebe los siguientes pasos para resolver el problema:
-
Asegúrese de que Redes avanzadas esté habilitada para el programa y entorno de AEM as a Cloud Service de destino y de que dispone de los permisos necesarios para actualizar la red y la configuración.
-
En Cloud Manager, abra el programa y el entorno relevantes. Vaya a Redes avanzadas y configure una regla de salida de puerto flexible para su servicio SMTP. Utilice una regla similar al siguiente ejemplo y sustituya el nombre de host y los puertos por los valores requeridos por su proveedor SMTP. Use un valor
portOrigadecuado en el intervalo documentado para su entorno. Guarde y aplique la configuración al entorno.code language-json { "nonProxyHosts": [ ] , "portForwards": [ { "name": "smtp.example.com", "portDest": 465, "portOrig": 30465 } ] } -
Configure el servicio de correo para que utilice el host proxy y el puerto proxy asignado en lugar de conectarse directamente al host y al puerto SMTP externo. Utilice los siguientes valores:
smtp.host:$[ env:AEM_PROXY_HOST;default=proxy.tunnel]smtp.port:<mapped-port>(o el valorportOrigconfigurado anteriormente)smtp.user: un valor respaldado por secreto para su nombre de usuario SMTPsmtp.password: un valor respaldado por secreto para su contraseña SMTPfrom.address: una dirección de remitente válida, por ejemplono-reply@example.comsmtp.ssl:truecuando el servicio SMTP de destino utiliza el puerto465
-
Proporcione el nombre de usuario y la contraseña SMTP utilizando una configuración compatible respaldada por secretos para AEM as a Cloud Service en lugar de almacenar valores de credenciales literales en el código.
-
Implemente la configuración actualizada a través del proceso de implementación de Cloud Manager estándar y, a continuación, pruebe la entrega de correo electrónico volviendo a ejecutar un proceso que envíe correo electrónico y confirme que la conexión se ha realizado correctamente.