¿Cómo soluciono los problemas de conectividad SMTP o de tiempo de espera con Amazon SES?

4 minutos de lectura
0

Mi protocolo simple de transferencia de correo (SMTP) de Amazon Simple Email Service (Amazon SES) está agotando el tiempo de espera. ¿Cómo soluciono los errores de conectividad SMTP o de tiempo de espera con Amazon SES?

Breve descripción

Las conexiones con tiempo de espera suelen indicar que su cliente no puede establecer una conexión TCP con el punto de conexión público de Amazon SES. Para resolver los errores de conectividad SMTP o de tiempo de espera con Amazon SES, primero solucione los problemas de la conexión TCP de la aplicación. Si la conexión TCP se realiza correctamente, solucione los problemas de las negociaciones SSL/TLS.

Importante: De forma predeterminada, Amazon Elastic Compute Cloud (Amazon EC2) restringe el tráfico de salida de Amazon Virtual Private Cloud (Amazon VPC) en el puerto 25 para todas las instancias de Amazon EC2. Para las aplicaciones que requieren tráfico en el puerto SMTP 25, puede solicitar que se elimine esta restricción.

Resolución

Solucionar problemas de conexión TCP de la aplicación

1.Ejecute los siguientes comandos telnet, netcat (nc) o Test-NetConnection. Sustituya email-smtp.us-east-1.amazonaws.com por el punto de enlace SMTP de Amazon SES que esté utilizando:

telnet email-smtp.us-east-1.amazonaws.com 587
telnet email-smtp.us-east-1.amazonaws.com 25
telnet email-smtp.us-east-1.amazonaws.com 465

nc -vz email-smtp.us-east-1.amazonaws.com 587
nc -vz email-smtp.us-east-1.amazonaws.com 25
nc -vz email-smtp.us-east-1.amazonaws.com 465

-o-

En PowerShell, ejecute el siguiente comando para conectarse al servidor SMTP de Amazon SES:

Test-NetConnection -Port 587 -ComputerName email-smtp.us-west-2.amazonaws.com

2.Tenga en cuenta el resultado. Si la conexión se realiza correctamente, vaya a la sección Solucionar problemas de negociaciones SSL/TLS. Si la conexión no se realiza correctamente, continúe con el paso 3.

Conexión correcta

El comando telnet devuelve un resultado similar al siguiente:

Trying 35.170.126.22...
Connected to email-smtp.us-east-1.amazonaws.com.
Escape character is '^]'.
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-A12BCD3EF example0mJncW410pSau

El comando PowerShell devuelve un resultado similar al siguiente:

ComputerName     : email-smtp.us-west-2.amazonaws.com
RemoteAddress    : 198.51.100.126
RemotePort       : 587
InterfaceAlias   : Ethernet
SourceAddress    : 203.0.113.46
TcpTestSucceeded : True

Conexión fallida (tiempo de espera agotado)

El comando telnet devuelve un resultado similar al siguiente:

Trying 18.232.32.150...
telnet: connect to address 18.232.32.150: Connection timed out

El comando PowerShell devuelve un resultado similar al siguiente:

WARNING: Ping to 52.39.11.136 failed with status: TimedOut

ComputerName           : email-smtp.us-west-2.amazonaws.com
RemoteAddress          : 35.155.47.104
RemotePort             : 587
InterfaceAlias         : Ethernet 2
SourceAddress          : 10.0.0.140
PingSucceeded          : False
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded       : False

3.En el caso de conexiones fallidas, confirme que las reglas, rutas y listas de control de acceso (ACL) del firewall local permitan el tráfico en el puerto SMTP que esté utilizando. Además, confirme que la solicitud de envío tiene acceso a Internet.

Por ejemplo, si utiliza una instancia de EC2 para enviar correos electrónicos y conectarse al punto de conexión SMTP, compruebe lo siguiente:

Solucionar problemas de negociaciones SSL/TLS

Si la conexión TCP funciona correctamente, pero sigue teniendo problemas de conectividad o de tiempo de espera, compruebe si hay problemas con SSL/TLS.

1.Desde una instancia de Linux EC2, ejecute el comando openssl. Para las instancias de Amazon EC2 para Windows, consulte Probar la conexión a la interfaz SMTP de Amazon SES mediante la línea de comandos y seleccione la pestaña PowerShell.

openssl s_client -crlf -connect email-smtp.us-east-1.amazonaws.com:465
openssl s_client -crlf -starttls smtp -connect email-smtp.us-east-1.amazonaws.com:587

Nota: Sustituya email-smtp.us-east-1.amazonaws.com por el punto de conexión SMTP de Amazon SES que esté utilizando. La modificación de la ubicación de la autoridad certificadora (CA) predeterminada puede causar problemas al ejecutar los comandos anteriores. Al instalar OpenSSL, asegúrese de identificar la ubicación del archivo de paquete de CA predeterminado.

2.Tenga en cuenta el resultado. Las respuestas esperadas son SMTP 220 y SMTP 250.

3.Si no obtiene el resultado esperado, compruebe lo siguiente:

  • Compruebe que el almacén de certificados SSL/TLS esté configurado correctamente.
  • Confirme que la solicitud de envío tiene la ruta correcta al certificado.
  • Compruebe que el certificado Amazon SES esté instalado en su servidor.

**Nota:**Puede comprobar si están instalados los certificados correctos. Para obtener instrucciones, vaya a Acerca de la migración a Amazon Trust Services y consulte la sección Acerca de los certificados.


Información relacionada

Uso de la interfaz SMTP de Amazon SES para enviar correo electrónico