Solución de problemas
¿Por qué se agota el tiempo de espera de mi conexión SMTP?
Soluciona las conexiones a smtp.emailit.com que se quedan colgadas o agotan el tiempo de espera, normalmente porque tu red o tu proveedor de nube bloquea el puerto 25.
Usa este artículo cuando tu aplicación no consigue abrir ninguna conexión con el SMTP relay de Emailit. Si la conexión se abre pero recibes un código de error, consulta Solución de problemas de SMTP.
Síntomas
- Tu biblioteca de correo informa de
ETIMEDOUT,Connection timed out,Connection refusedoCould not connect to SMTP host. - El cliente se queda colgado 30 segundos o más antes de fallar, y no aparece nada en Email APILogs.
- La misma configuración funciona desde tu portátil, pero falla desde un servidor, un contenedor o una función serverless.
Causa
La conexión se bloquea antes de llegar a Emailit. Motivos habituales:
- El puerto 25 está bloqueado. Muchos proveedores de hosting y de nube (por ejemplo AWS, Google Cloud, Azure y DigitalOcean) bloquean o limitan por defecto el puerto 25 saliente para combatir el spam. Los proveedores de internet domésticos suelen hacer lo mismo.
- Otros puertos de envío también están bloqueados. Algunos proveedores bloquean también el 465 y el 587 en las cuentas nuevas.
- Un firewall de salida o un grupo de seguridad solo permite determinados puertos de destino.
- El nombre de host es incorrecto. El relay es
smtp.emailit.com.
Emailit escucha en estos puertos:
| Puerto | Cifrado | Cuándo usarlo |
|---|---|---|
| 587 | STARTTLS | Opción por defecto recomendada |
| 465 | TLS implícito | Cuando tu cliente prefiere TLS desde el primer byte |
| 2525 | STARTTLS | Cuando el 25 y el 587 están bloqueados |
| 2587 | STARTTLS | Cuando el 25 y el 587 están bloqueados |
| 25 | STARTTLS | Solo si no hay otra opción |
Solución
-
Cambia al puerto 587. Configura el host como
smtp.emailit.com, el puerto como587y activa STARTTLS. El puerto 25 rara vez es la opción adecuada para una aplicación. -
Prueba el puerto desde la máquina que envía. Ejecuta la comprobación en el propio servidor, no en tu portátil.
nc -vz smtp.emailit.com 587 nc -vz smtp.emailit.com 2525En Windows, usa
Test-NetConnection smtp.emailit.com -Port 2525en PowerShell. Un puerto que funciona indica una conexión correcta (TcpTestSucceeded : Trueen PowerShell). Un puerto bloqueado agota el tiempo de espera. -
Usa el 2525 o el 2587 si el 587 está bloqueado. Ambos ofrecen STARTTLS y rara vez se filtran. Deja activada la opción STARTTLS de tu cliente.
-
Abre el puerto en tu firewall. Permite el tráfico TCP saliente hacia
smtp.emailit.comen el puerto que hayas elegido, en tu grupo de seguridad, tu ACL de red o tu política de red de contenedores. -
Pide a tu proveedor que desbloquee el puerto 25 solo si tienes que usarlo. La mayoría de los proveedores tienen un formulario de solicitud. Pasarte al 587 o al 2525 es más rápido.
-
Valora la API HTTP. Si tu plataforma bloquea SMTP por completo, envía a través de la API de email por HTTPS en el puerto 443. Consulta ¿API o SMTP?.
Una vez que la conexión funcione, cada mensaje que envíes aparecerá en Email APILogs con el origen SMTP. Si la conexión ya se abre pero la negociación TLS falla, consulta ¿Por qué recibo errores de TLS al conectarme a SMTP?. Para ver toda la configuración en un solo lugar, consulta Configuración SMTP.
¿Sigues teniendo problemas?
Contacta con soporte o pregunta en Discord. Incluye el puerto que probaste, dónde se ejecuta tu aplicación (proveedor y región) y la salida de la comprobación nc o Test-NetConnection.