técnico · respuesta con fuentes
Cómo comprobar si el puerto 587 está abierto
Puede comprobar si el puerto 587 está abierto usando una herramienta de línea de comandos como telnet, netcat o PowerShell para intentar conectarse a su servidor SMTP. Si la conexión se establece, el servidor normalmente responde con un código de saludo 220, que indica que el puerto está abierto y acepta conexiones para el envío de correo.
Pruebas de conectividad con Telnet
Telnet es una herramienta estándar para probar la conectividad TCP. Ejecute el comando telnet smtp.example.com 587 en su terminal. Si la pantalla se queda en blanco o muestra un saludo del servidor, el puerto está abierto. Si recibe un error de conexión rechazada o de tiempo de espera agotado, el puerto está cerrado o bloqueado por un firewall. Tenga en cuenta que puede ser necesario activar telnet en las Características de Windows antes de usarlo.
Uso de Netcat (nc) en Linux y macOS
Netcat es una utilidad muy potente para depurar la red. Use el comando nc -zv smtp.example.com 587. La opción z indica a netcat que busque un demonio a la escucha sin enviar datos, y la opción v activa la salida detallada. Si todo va bien, la salida indicará explícitamente que la conexión al puerto se ha establecido; si falla, indicará un tiempo de espera agotado o una conexión rechazada.
Uso de PowerShell en Windows
Si usa Windows sin telnet, PowerShell ofrece el cmdlet Test-NetConnection. Ejecute Test-NetConnection -ComputerName smtp.example.com -Port 587. La salida incluirá un valor booleano en TcpTestSucceeded. Si es True, el puerto 587 está abierto. Este método es el preferido en entornos Windows modernos porque ofrece información de diagnóstico detallada sobre la ruta de red.
Solución de problemas con puertos bloqueados
Si el puerto 587 está cerrado, revise la configuración de su firewall local y las restricciones de su ISP. Muchos ISP residenciales bloquean los puertos de correo salientes para evitar el spam. Puede verificar su configuración externa con SendHQ o sus herramientas gratuitas (https://sendhq.cc/tools) para asegurarse de que su servidor de correo es accesible desde internet. Compruebe que los grupos de seguridad de su proveedor de nube permiten el tráfico saliente por TCP 587.
El puerto 587 y STARTTLS
El puerto 587 es el puerto estándar para el envío de correo. A diferencia del puerto 465, que usa TLS implícito, el puerto 587 empieza como una conexión en texto claro y la actualiza a una conexión segura con el comando STARTTLS. Por eso una simple comprobación TCP confirma que el puerto está abierto, pero hace falta un handshake SMTP completo para verificar que el cifrado funciona correctamente.
Preguntas habituales de los equipos
¿Qué diferencia hay entre el puerto 25 y el 587?
El puerto 25 se usa principalmente para el relay entre servidores, mientras que el puerto 587 es el designado para el envío de correo del cliente al servidor.
¿Por qué se agota el tiempo de espera de mi conexión en el puerto 587?
Un tiempo de espera agotado suele indicar que un firewall está descartando los paquetes. Revise el firewall de su sistema operativo, el router de su red o las reglas del grupo de seguridad de su nube.
¿Una conexión telnet correcta significa que el correo se enviará?
No, solo confirma que el puerto TCP está abierto. Sigue necesitando una autenticación válida y los comandos SMTP correctos para enviar un correo.
¿Es seguro el puerto 587?
El puerto 587 es seguro cuando se usa con STARTTLS, que cifra la comunicación después de establecer la conexión inicial.