Probar la conexión SMTP mediante una sesión de Telnet manual

Publicado: 2022-04-04

Los proveedores de servidores como DigitalOcean, AWS, Vultr y otros bloquean el puerto 25 de salida de su correo electrónico para evitar que llegue el spam. Sin embargo, siempre puedes pedirles que lo desbloqueen. Si desea averiguar si su puerto 25 ha sido bloqueado, puede usar una sesión de telnet manual para probar la conexión SMTP.

Los errores de conexión SMTP se pueden resolver de varias maneras, pero la línea de comandos puede detectarlos directamente. Telnet se usa típicamente para probar fallas de conexión SMTP. En los pasos que siguen, usaremos Telnet para probar el servidor de correo electrónico. Una parte fundamental de la configuración de un servidor de correo electrónico es asegurarse de que SMTP funcione desde la línea de comandos (Linux).

Telnet es la forma más utilizada de comprobar SMTP desde la línea de comandos. También es la forma más común de probar la retransmisión SMTP.

Tabla de contenido

¿Qué es SMTP?

SMTP es un protocolo basado en texto y orientado a la conexión en el que un remitente de correo se conecta con un receptor de correo mediante el envío de cadenas de comandos y el suministro de los datos necesarios a través de un canal de flujo de datos ordenado confiable, a menudo una conexión de Protocolo de control de transmisión (TCP).

Una sesión SMTP se compone de comandos de un cliente SMTP (el agente iniciador, remitente o transmisor) y respuestas de un servidor SMTP (el agente de escucha o receptor) que inicia la sesión e intercambia parámetros de sesión. Puede haber cero o más transacciones SMTP en una sesión. Tres secuencias de comando/respuesta conforman una transacción SMTP:

  1. El comando MAIL, también conocido como ruta de retorno, ruta inversa, dirección de rebote, mfrom o remitente del sobre, para establecer la dirección de devolución.
  2. Para establecer un destinatario del mensaje, utilice el comando RCPT. Este comando puede repetirse tantas veces como sea necesario, una para cada destinatario. El sobre también tiene estas direcciones.
  3. DATOS para indicar el inicio del texto del mensaje; el contenido del mensaje, a diferencia de su sobre. Consiste en una línea vacía entre el encabezado del mensaje y el cuerpo del mensaje. El servidor responde dos veces: primero a la propia instrucción DATA, reconociendo que está listo para recibir el texto, y nuevamente después de la secuencia de fin de datos, aceptando o rechazando el mensaje completo.

¿Qué es una sesión Telnet?

Telnet es un protocolo de red para acceder de forma remota a una computadora y establecer un canal de comunicación bidireccional, colaborativo y basado en texto entre dos computadoras.

Crea sesiones remotas utilizando el protocolo de red del Protocolo de control de transmisión/Protocolo de Internet (TCP/IP), que es controlado por el usuario. El Protocolo de transferencia de hipertexto (HTTP) y el Protocolo de transferencia de archivos (FTP) en la web simplemente permiten a los usuarios solicitar archivos específicos de computadoras remotas, mientras que Telnet permite a los usuarios iniciar sesión como un usuario normal con los privilegios asignados a las aplicaciones y datos específicos en ese computadora.

Telnet es más comúnmente utilizado por codificadores y cualquier persona que necesite acceder a ciertas aplicaciones o datos en una computadora remota.

¿Cómo funciona Telnet?

Telnet es un protocolo cliente-servidor para abrir una línea de comando en una computadora distante, generalmente un servidor. Esta utilidad se puede utilizar para hacer ping a un puerto y determinar si está abierto. Telnet usa un emulador de conexión de terminal virtual, que es una instancia abstracta de una conexión de computadora que usa protocolos estándar para actuar como una terminal física conectada a un sistema. Para los usuarios que necesitan comunicar archivos de datos, FTP y Telnet se pueden utilizar juntos.

Telnet permite a los usuarios conectarse a una máquina de forma remota, a menudo conocido como Telnetting en el sistema. Deben proporcionar su combinación de credenciales de usuario para obtener acceso a la computadora remota, lo que les permite ejecutar líneas de comando como si estuvieran físicamente presentes en la computadora. Las direcciones IP de los usuarios coincidirán con la computadora en la que iniciaron sesión en lugar de la que usaron para iniciar sesión, independientemente de su ubicación física.

¿Cuáles son los usos de Telnet?

Telnet se puede usar para realizar una variedad de tareas en un servidor, incluida la edición de archivos, la ejecución de programas y la verificación de correo electrónico.

Algunos servidores permiten conexiones remotas a través de Telnet a datos públicos para jugar juegos simples o buscar pronósticos del tiempo. Muchas de estas características existen porque son nostálgicas o porque todavía son compatibles con sistemas anteriores que requieren ciertos datos.

Telnet también permite a los usuarios conectarse a cualquier software que utilice protocolos no cifrados basados ​​en texto, como servidores web y puertos. Los usuarios pueden abrir un cmd en la máquina remota y escribir telnet seguido del nombre o la dirección IP de la máquina remota, y la sesión de telnet hará ping al puerto para ver si está abierto o no. Una pantalla en blanco indica que el puerto está abierto, pero un mensaje de error que indica que el puerto está conectado indica que está cerrado.

Seguridad en Telnet

Telnet es un protocolo no seguro y sin cifrar. Cualquiera puede ver el nombre de usuario, la contraseña y otra información confidencial de un usuario escrita en texto sin formato durante una sesión de Telnet al monitorear la conexión del usuario. Esta información se puede utilizar para obtener acceso a la computadora de destino.

Probar la conexión SMTP usando Telnet

Primero ejecutaremos algunas pruebas para ver si su puerto saliente 25 está abierto o no, en el primer caso demostraremos un puerto SMTP 25 bloqueado, en el segundo caso enviaremos un correo electrónico usando telnet.

Caso 1: Puerto 25 Bloqueado

En la línea de comando, ejecute el siguiente comando (debe ejecutar este comando en un servidor donde tenga problemas con el correo electrónico):

 telnet <DIRECCIÓN_IP_DE_SERVIDOR_DE_CORREO_REMOTO> 25

Si recibe un mensaje como "INTENTANDO..." y nada más, eso significa que su puerto de salida 25 está bloqueado y no podrá enviar mensajes de correo electrónico desde su servidor.

Caso 2: cuando se abre el puerto 25:

Necesitamos encontrar un servidor de correo para iniciar sesión si no tiene la dirección IP del servidor de correo. Para ello, necesitaremos el registro DNS MX de un dominio determinado. Esto se puede encontrar con el siguiente comando

 nslookup -type=mx NOMBRE_DOMINIO

SMTP emplea uno de los tres puertos: 25, 465 o 587, que suele utilizar Microsoft Outlook. Si su retransmisión SMTP utiliza un puerto que no sea el 25, utilizará el puerto proporcionado en la respuesta nslookup del servidor de intercambio de correo. Puede preguntarle a su administrador o ingresar al servidor de intercambio de correo y mirar los protocolos para ver qué puerto usa su SMTP.

Para iniciar sesión en el servidor SMTP:

 telnet <DIRECCIÓN_IP_DE_SERVIDOR_DE_CORREO> <PUERTO>

Si está conectado, puede continuar con el envío de correos electrónicos

El comando EHLO o HELO es el primer comando que debemos enviar al servidor de correo para nuestro probador de correo electrónico SMTP. Esta es una simple bienvenida que inicia la conversación del cliente telnet con el servidor SMTP.

 EHLO <DOMAIN_NAME>
prueba de conexion smtp

Los comandos SMTP que acepta el servidor SMTP se muestran aquí.

El comando MAIL FROM es el siguiente comando que realmente tenemos que ejecutar. La dirección a la que se envían los rebotes está determinada por esto.

 CORREO DE: <[email protected]>

Ahora podemos enviar el comando RCPT TO después de que se haya emitido el comando MAIL FROM. Este comando le indica al servidor de correo SMTP que envíe el mensaje al destinatario especificado.

 RCPT A: <[correo electrónico protegido]> 

El comando DATA es el último comando que se ejecuta antes de comenzar con el cuerpo del mensaje. Este comando informa al servidor de correo SMTP que el resto del mensaje se transmitirá como el cuerpo del mensaje.

 DATOS 

Ingrese Asunto: <ASUNTO> y presione Retorno.

Ingrese < Mensaje de prueba > y presione Retorno.

Cuando finalice el mensaje, debemos informar al servidor SMTP que hemos terminado con él y que queremos que el servidor de correo SMTP lo acepte. Esto se logra colocando un punto en una sola línea. Si se requiere un punto en una sola línea al escribir un mensaje, use dos puntos, el primero escapando del segundo.

.

Aparecerá el mensaje OK, seguido de un código de identificación. Su mensaje ha sido entregado.

Regrese a la ventana de Telnet, ingrese quit para terminar la conexión del servidor SMTP y luego salga para terminar la sesión de Telnet.

 ABANDONAR 

Conclusión

Si completa la prueba, puede estar seguro de que no hay ningún problema con su servidor de correo electrónico o la dirección y la información que utilizó para acceder a él.

Si el servidor SMTP le informó que la dirección de correo electrónico de origen no era válida, es posible que la haya escrito incorrectamente. También es posible que algo esté mal con su cuenta de correo electrónico, por lo que no puede hacer que funcione en su nuevo cliente de correo electrónico.

Con suerte, probar su servidor SMTP a través de Telnet mientras está lejos de su nuevo cliente de correo electrónico lo ayudará a reducir todas las posibles causas de cualquier problema de correo electrónico que tenga.