¿Cómo soluciono los problemas de conectividad SMTP o de tiempo de espera con Amazon SES?
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:
- Las reglas de salida (egreso) del grupo de seguridad deben permitir el tráfico al servidor SMTP en los puertos TCP 25, 587 o 465.
- Las reglas de salida (egreso) de la ACL de red deben permitir el tráfico al servidor SMTP en los puertos TCP 25, 587 o 465.
- Las reglas de entrada (ingreso) de la ACL de red deben permitir el tráfico desde el servidor SMTP en los puertos TCP 1024-65535.
- La instancia EC2 debe tener conectividad a Internet.
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
Vídeos relacionados
Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 3 años
- OFICIAL DE AWSActualizada hace 2 años