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:

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

  2. 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 portOrig adecuado 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
        }
      ]
    }
    
  3. 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 valor portOrig configurado anteriormente)
    • smtp.user: un valor respaldado por secreto para su nombre de usuario SMTP
    • smtp.password: un valor respaldado por secreto para su contraseña SMTP
    • from.address: una dirección de remitente válida, por ejemplo no-reply@example.com
    • smtp.ssl: true cuando el servicio SMTP de destino utiliza el puerto 465
  4. 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.

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

Lectura relacionada

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