Cómo comprobar una conexión SMTP con una sesión manual de Telnet

Pájaro

7 feb 2020

Correo electrónico

1 min read

Cómo comprobar una conexión SMTP con una sesión manual de Telnet

Puntos clave

    • Manual telnet testing es una forma rápida y de baja tecnología para diagnosticar problemas de conectividad y configuración de SMTP.

    • Úselo para verificar si un servidor SMTP es accesible, está correctamente configurado y acepta conexiones.

    • La prueba puede revelar puertos bloqueados, restricciones de retransmisión, errores de DNS o problemas de compatibilidad con TLS.

    • Los comandos esenciales de SMTP incluyen EHLO/HELO, MAIL FROM, RCPT TO, DATA y QUIT.

    • El puerto 25 es el estándar para retransmisión, mientras que 465 y 587 se utilizan para envíos seguros.

    • Autenticación codificada en Base64 (AUTH LOGIN) es requerida cuando los servidores exigen credenciales de inicio de sesión.

    • Herramientas como Swaks o plataformas integradas de prueba de correo electrónico pueden automatizar y expandir los pasos de diagnóstico de telnet.

Destacados de Q&A

  • ¿Por qué usar telnet en lugar de una herramienta dedicada de pruebas de email?

    Telnet te proporciona visibilidad directa en el diálogo SMTP sin procesar. Es invaluable para la resolución de problemas a nivel de protocolo y para confirmar las respuestas del servidor sin capas de terceros.

  • ¿Cuál es la forma más rápida de saber si mi puerto SMTP está bloqueado?

    Ejecute telnet mail.example.com 25. Si recibe “Connection refused,” es probable que su ISP o host esté bloqueando el puerto.

  • ¿Necesito autenticarme al probar con telnet?

    Solo si el servidor de correo requiere autenticación. Utiliza el comando AUTH LOGIN y envía tu nombre de usuario y contraseña codificados en Base64.

  • ¿Puedo enviar un email completo a través de telnet?

    Sí. Después de DATA, añade tus encabezados y cuerpo, termina con un solo punto (.) en su propia línea, y luego escribe QUIT.

  • ¿Es telnet seguro para pruebas de SMTP?

    No. Telnet transmite datos en texto plano. Úselo solo para pruebas en entornos seguros y controlados. Para conexiones seguras, pruebe sobre TLS usando herramientas que soporten STARTTLS.

En el mundo del email, hay muchos aspectos para probar, pero una de las pruebas más básicas que puedes hacer es simplemente telnet en un servidor SMTP dado. Este chequeo de SMTP es útil para determinar si los problemas más básicos existen o no.

En el mundo del correo electrónico, hay muchos aspectos a probar, pero una de las pruebas más básicas que puedes hacer es simplemente telnet a un servidor SMTP dado. Esta comprobación SMTP es útil para determinar si los problemas más básicos existen o no.

  • ¿Está activo el servidor?

  • ¿Hay un firewall bloqueando la comunicación?

  • ¿Permite el servidor de correo el reenvío de un dominio/dirección de correo electrónico en particular?

  • ¿Qué comandos SMTP soporta el servidor de correo?

  • ¿Responde el servidor con el nombre de host correcto?

  • ¿Funciona la conexión fuera de cualquier software de terceros o APIs?

Todas estas preguntas y más se pueden responder con una simple prueba de telnet.

Antes de comenzar, asegúrate de abrir nuestra pieza complementaria a esta publicación: ¿A dónde se envían los mensajes de rebote? en una nueva pestaña para que puedas leerlo después de que termines con este blog.

Como nota, los comandos utilizados en los siguientes ejemplos (así como comandos adicionales) están cubiertos en la sección 4.1 del RFC 2821.

En el mundo del correo electrónico, hay muchos aspectos a probar, pero una de las pruebas más básicas que puedes hacer es simplemente telnet a un servidor SMTP dado. Esta comprobación SMTP es útil para determinar si los problemas más básicos existen o no.

  • ¿Está activo el servidor?

  • ¿Hay un firewall bloqueando la comunicación?

  • ¿Permite el servidor de correo el reenvío de un dominio/dirección de correo electrónico en particular?

  • ¿Qué comandos SMTP soporta el servidor de correo?

  • ¿Responde el servidor con el nombre de host correcto?

  • ¿Funciona la conexión fuera de cualquier software de terceros o APIs?

Todas estas preguntas y más se pueden responder con una simple prueba de telnet.

Antes de comenzar, asegúrate de abrir nuestra pieza complementaria a esta publicación: ¿A dónde se envían los mensajes de rebote? en una nueva pestaña para que puedas leerlo después de que termines con este blog.

Como nota, los comandos utilizados en los siguientes ejemplos (así como comandos adicionales) están cubiertos en la sección 4.1 del RFC 2821.

En el mundo del correo electrónico, hay muchos aspectos a probar, pero una de las pruebas más básicas que puedes hacer es simplemente telnet a un servidor SMTP dado. Esta comprobación SMTP es útil para determinar si los problemas más básicos existen o no.

  • ¿Está activo el servidor?

  • ¿Hay un firewall bloqueando la comunicación?

  • ¿Permite el servidor de correo el reenvío de un dominio/dirección de correo electrónico en particular?

  • ¿Qué comandos SMTP soporta el servidor de correo?

  • ¿Responde el servidor con el nombre de host correcto?

  • ¿Funciona la conexión fuera de cualquier software de terceros o APIs?

Todas estas preguntas y más se pueden responder con una simple prueba de telnet.

Antes de comenzar, asegúrate de abrir nuestra pieza complementaria a esta publicación: ¿A dónde se envían los mensajes de rebote? en una nueva pestaña para que puedas leerlo después de que termines con este blog.

Como nota, los comandos utilizados en los siguientes ejemplos (así como comandos adicionales) están cubiertos en la sección 4.1 del RFC 2821.

¿Cómo envío un Email usando Telnet?

Enviar correo electrónico a través de telnet puede ayudarle a identificar problemas de entregabilidad dentro de su configuración actual.

Antes de enviar un correo electrónico usando telnet, confirme que telnet está tanto instalado como habilitado en su computadora. La mayoría de las computadoras vienen preinstaladas con un cliente telnet. Para aquellas versiones de Windows que no lo tienen, se puede instalar abriendo la sección "Programas y Características" del panel de control y seleccionando "Activar o desactivar las características de Windows". Con esta ventana abierta, seleccione "cliente telnet" y luego haga clic en OK.

Una vez que se haya verificado que un cliente telnet está instalado en el servidor, abra la ventana de terminal donde ingresará sus comandos. En Windows, use Windows + R, escriba "cmd", y presione enter. Para usuarios de Mac, encontrará el ícono de terminal abriendo Finder y buscando "Utilidades" en la página de Aplicaciones, o ingresando "terminal" en la función de búsqueda de Launchpad.

A continuación, necesitamos encontrar un servidor de correo para iniciar sesión. Para esto, necesitaremos el registro DNS MX de un dominio dado. Esto se puede encontrar con el siguiente comando (para estos ejemplos se usará port25.com, pero se puede sustituir cualquier dominio):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Referencia Rápida de Puertos SMTP

Aquí tiene una referencia rápida a los puertos comunes de envío SMTP y cuándo usarlos:

Puerto

Encriptación

Uso Típico

Notas

25

Ninguna / TLS Oportunista

Relevo de servidor a servidor

A menudo bloqueado por proveedores de Internet para el control de spam

465

SSL/TLS Implícito

Envío seguro heredado

Obsoleto pero aún usado por sistemas antiguos

587

STARTTLS

Envío autenticado moderno

Recomendado para el envío de correo de cliente

Para configuración y optimización avanzada del servidor de correo, vea nuestra guía sobre consejos de configuración de PowerMTA. Si su retransmisión SMTP usa un puerto diferente al 25 como se muestra en el ejemplo, usará el puerto especificado por la respuesta del servidor de intercambio de correo al nslookup. También puede verificar el puerto en el que se basa su SMTP preguntando a su administrador o iniciando sesión en el servidor de intercambio de correo y revisando los protocolos.

A continuación, necesitamos el DNS PTR para la IP que vamos a usar. Primero necesitamos saber qué dirección IP ve Internet que tenemos. Para encontrarlo, podemos usar un sitio web como:

http://whatismyipaddress.com/

Con la dirección IP ejecute el siguiente comando, donde A.B.C.D es la dirección IP.

Windows:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

server.example.com es solo un ejemplo, y sus resultados serán diferentes.

Así que ahora que tenemos el registro MX para port25.com y el PTR para la IP que vamos a usar, es hora de iniciar sesión en el servidor SMTP. Para hacerlo, use el siguiente comando:

telnet mail.port25.com 25

Algo similar a lo siguiente debería mostrarse ahora:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Si recibe un mensaje de error como “no se puede conectar” en este punto, el número de puerto es correcto o el servidor de correo está enfrentando problemas.

El primer comando que necesitamos emitir al servidor de correo para nuestro probador de correo SMTP es el EHLO o HELO. Este es un saludo básico que inicia la comunicación entre el cliente telnet y el servidor SMTP. También se pasa el DNS PTR para la dirección IP desde la cual nos estamos conectando, como se determinó anteriormente.

EHLO server.example.com

Algo similar a lo siguiente debería ser devuelto:

250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

Esto muestra los comandos SMTP que acepta el servidor SMTP. No todos los servidores SMTP soportan los mismos conjuntos de comandos. Por ejemplo, Yahoo solo muestra lo siguiente:

250-8BITMIME 
250-SIZE 41943040 
250 PIPELINING

Y AOL muestra solo uno con:

250 DSN

El siguiente comando que necesitamos emitir es el comando MAIL FROM. Esto determina la dirección a la que se envían los rebotes. Esto no es lo mismo que el encabezado desde, que es la dirección de correo electrónico mostrada en un cliente de correo electrónico.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Asegúrese de usar el nombre de dominio que corresponde al dominio del servidor de correo. Por ejemplo, si el dominio de su correo electrónico es anycompany.com, querrá usar usted@anycompany.com en lugar de un correo externo como usted@proveedor-mail-gratis.com. La variación en los nombres de dominio puede causar que aparezca un mensaje de error.

Ahora que se ha enviado el comando MAIL FROM, podemos enviar el comando RCPT TO. Este comando le dice al servidor SMTP a quién debe enviarse el mensaje. Esto puede ser el mismo o diferente del encabezado to, que es la dirección de correo electrónico mostrada en el cliente de correo electrónico.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Verifique dos veces la dirección del destinatario antes de enviar el comando RCPT TO: un mensaje de error que aparezca aquí puede indicar un destinatario de correo electrónico mal escrito o bloqueado.

El último comando que se ejecuta antes de comenzar el cuerpo del mensaje es el comando DATA. Este comando permite al servidor de correo SMTP saber que todo lo que sigue es el cuerpo del mensaje (que también contiene los encabezados).

DATA 354 send message

Es importante tener en cuenta que si un servidor de correo soporta PIPELINING, como lo hace mail.port25.com, el servidor de correo SMTP puede esperar hasta que se emita el comando DATA antes de responder a los demás comandos después del EHLO/HELO. En este caso, ingrese los comandos MAIL FROM, RCPT TO, y DATA antes de esperar una respuesta.

Ahora que se ha enviado el comando DATA, podemos comenzar a enviar el contenido del mensaje. Esto comienza con los diversos encabezados. Al mínimo, un mensaje debería contener un encabezado para, desde, asunto, y fecha. Los encabezados ingresados ​​aquí serán mostrados al usuario en su cliente de correo electrónico.

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Con los encabezados establecidos, ahora agregamos una línea en blanco con un retorno de carro/salto de línea (simplemente presione enter dos veces) y luego comenzamos el cuerpo real del mensaje.

Hola Mundo, Este es un mensaje de prueba enviado desde una sesión telnet manual. Atentamente, Administrador SMTP

Con el mensaje completo, necesitamos decirle al servidor SMTP que hemos terminado con el mensaje y queremos que el servidor de correo SMTP lo acepte. Esto se hace con un punto en una línea por sí mismo. Si durante la escritura de un mensaje se necesita un punto en una línea por sí mismo, debe poner 2 puntos, el primero escapando el segundo.

.   250 2.6.0 mensaje recibido

Si recibe un mensaje de error en lugar de la notificación de "recibido", registre los detalles relevantes y contacte a su proveedor de correo electrónico para más asistencia. Los problemas de conexión también pueden estar relacionados con los protocolos de seguridad: asegúrese de estar usando TLS 1.2 o superior para conexiones seguras.

Por último, se envía el comando QUIT para cerrar la conexión:

QUIT 221 2.0.0 mail.port25.com dice adiós

Con eso, el servidor de correo ha aceptado el mensaje para la entrega, su prueba de envío de correo telnet está completa, ¡y debería estar en el inbox de la dirección RCPT TO!

Aquí están todos los comandos sin interrupción:

telnet mail.port25.com 25
Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
  
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

EHLO server.example.com
250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

MAIL FROM:<support@port25.com>
250 2.1.0 MAIL ok

RCPT TO:<support@port25.com>
250 2.1.5 <support@port25.com> ok

DATA
354 send message

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Hello World,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Enviar un correo electrónico usando telnet le permite probar las capacidades de conexión rápida y a menor costo que equipos o software de diagnóstico robustos. Para herramientas de prueba SMTP más avanzadas, considere usar Swaks con SparkPost para pruebas de correo electrónico completas.

Enviar correo electrónico a través de telnet puede ayudarle a identificar problemas de entregabilidad dentro de su configuración actual.

Antes de enviar un correo electrónico usando telnet, confirme que telnet está tanto instalado como habilitado en su computadora. La mayoría de las computadoras vienen preinstaladas con un cliente telnet. Para aquellas versiones de Windows que no lo tienen, se puede instalar abriendo la sección "Programas y Características" del panel de control y seleccionando "Activar o desactivar las características de Windows". Con esta ventana abierta, seleccione "cliente telnet" y luego haga clic en OK.

Una vez que se haya verificado que un cliente telnet está instalado en el servidor, abra la ventana de terminal donde ingresará sus comandos. En Windows, use Windows + R, escriba "cmd", y presione enter. Para usuarios de Mac, encontrará el ícono de terminal abriendo Finder y buscando "Utilidades" en la página de Aplicaciones, o ingresando "terminal" en la función de búsqueda de Launchpad.

A continuación, necesitamos encontrar un servidor de correo para iniciar sesión. Para esto, necesitaremos el registro DNS MX de un dominio dado. Esto se puede encontrar con el siguiente comando (para estos ejemplos se usará port25.com, pero se puede sustituir cualquier dominio):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Referencia Rápida de Puertos SMTP

Aquí tiene una referencia rápida a los puertos comunes de envío SMTP y cuándo usarlos:

Puerto

Encriptación

Uso Típico

Notas

25

Ninguna / TLS Oportunista

Relevo de servidor a servidor

A menudo bloqueado por proveedores de Internet para el control de spam

465

SSL/TLS Implícito

Envío seguro heredado

Obsoleto pero aún usado por sistemas antiguos

587

STARTTLS

Envío autenticado moderno

Recomendado para el envío de correo de cliente

Para configuración y optimización avanzada del servidor de correo, vea nuestra guía sobre consejos de configuración de PowerMTA. Si su retransmisión SMTP usa un puerto diferente al 25 como se muestra en el ejemplo, usará el puerto especificado por la respuesta del servidor de intercambio de correo al nslookup. También puede verificar el puerto en el que se basa su SMTP preguntando a su administrador o iniciando sesión en el servidor de intercambio de correo y revisando los protocolos.

A continuación, necesitamos el DNS PTR para la IP que vamos a usar. Primero necesitamos saber qué dirección IP ve Internet que tenemos. Para encontrarlo, podemos usar un sitio web como:

http://whatismyipaddress.com/

Con la dirección IP ejecute el siguiente comando, donde A.B.C.D es la dirección IP.

Windows:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

server.example.com es solo un ejemplo, y sus resultados serán diferentes.

Así que ahora que tenemos el registro MX para port25.com y el PTR para la IP que vamos a usar, es hora de iniciar sesión en el servidor SMTP. Para hacerlo, use el siguiente comando:

telnet mail.port25.com 25

Algo similar a lo siguiente debería mostrarse ahora:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Si recibe un mensaje de error como “no se puede conectar” en este punto, el número de puerto es correcto o el servidor de correo está enfrentando problemas.

El primer comando que necesitamos emitir al servidor de correo para nuestro probador de correo SMTP es el EHLO o HELO. Este es un saludo básico que inicia la comunicación entre el cliente telnet y el servidor SMTP. También se pasa el DNS PTR para la dirección IP desde la cual nos estamos conectando, como se determinó anteriormente.

EHLO server.example.com

Algo similar a lo siguiente debería ser devuelto:

250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

Esto muestra los comandos SMTP que acepta el servidor SMTP. No todos los servidores SMTP soportan los mismos conjuntos de comandos. Por ejemplo, Yahoo solo muestra lo siguiente:

250-8BITMIME 
250-SIZE 41943040 
250 PIPELINING

Y AOL muestra solo uno con:

250 DSN

El siguiente comando que necesitamos emitir es el comando MAIL FROM. Esto determina la dirección a la que se envían los rebotes. Esto no es lo mismo que el encabezado desde, que es la dirección de correo electrónico mostrada en un cliente de correo electrónico.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Asegúrese de usar el nombre de dominio que corresponde al dominio del servidor de correo. Por ejemplo, si el dominio de su correo electrónico es anycompany.com, querrá usar usted@anycompany.com en lugar de un correo externo como usted@proveedor-mail-gratis.com. La variación en los nombres de dominio puede causar que aparezca un mensaje de error.

Ahora que se ha enviado el comando MAIL FROM, podemos enviar el comando RCPT TO. Este comando le dice al servidor SMTP a quién debe enviarse el mensaje. Esto puede ser el mismo o diferente del encabezado to, que es la dirección de correo electrónico mostrada en el cliente de correo electrónico.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Verifique dos veces la dirección del destinatario antes de enviar el comando RCPT TO: un mensaje de error que aparezca aquí puede indicar un destinatario de correo electrónico mal escrito o bloqueado.

El último comando que se ejecuta antes de comenzar el cuerpo del mensaje es el comando DATA. Este comando permite al servidor de correo SMTP saber que todo lo que sigue es el cuerpo del mensaje (que también contiene los encabezados).

DATA 354 send message

Es importante tener en cuenta que si un servidor de correo soporta PIPELINING, como lo hace mail.port25.com, el servidor de correo SMTP puede esperar hasta que se emita el comando DATA antes de responder a los demás comandos después del EHLO/HELO. En este caso, ingrese los comandos MAIL FROM, RCPT TO, y DATA antes de esperar una respuesta.

Ahora que se ha enviado el comando DATA, podemos comenzar a enviar el contenido del mensaje. Esto comienza con los diversos encabezados. Al mínimo, un mensaje debería contener un encabezado para, desde, asunto, y fecha. Los encabezados ingresados ​​aquí serán mostrados al usuario en su cliente de correo electrónico.

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Con los encabezados establecidos, ahora agregamos una línea en blanco con un retorno de carro/salto de línea (simplemente presione enter dos veces) y luego comenzamos el cuerpo real del mensaje.

Hola Mundo, Este es un mensaje de prueba enviado desde una sesión telnet manual. Atentamente, Administrador SMTP

Con el mensaje completo, necesitamos decirle al servidor SMTP que hemos terminado con el mensaje y queremos que el servidor de correo SMTP lo acepte. Esto se hace con un punto en una línea por sí mismo. Si durante la escritura de un mensaje se necesita un punto en una línea por sí mismo, debe poner 2 puntos, el primero escapando el segundo.

.   250 2.6.0 mensaje recibido

Si recibe un mensaje de error en lugar de la notificación de "recibido", registre los detalles relevantes y contacte a su proveedor de correo electrónico para más asistencia. Los problemas de conexión también pueden estar relacionados con los protocolos de seguridad: asegúrese de estar usando TLS 1.2 o superior para conexiones seguras.

Por último, se envía el comando QUIT para cerrar la conexión:

QUIT 221 2.0.0 mail.port25.com dice adiós

Con eso, el servidor de correo ha aceptado el mensaje para la entrega, su prueba de envío de correo telnet está completa, ¡y debería estar en el inbox de la dirección RCPT TO!

Aquí están todos los comandos sin interrupción:

telnet mail.port25.com 25
Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
  
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

EHLO server.example.com
250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

MAIL FROM:<support@port25.com>
250 2.1.0 MAIL ok

RCPT TO:<support@port25.com>
250 2.1.5 <support@port25.com> ok

DATA
354 send message

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Hello World,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Enviar un correo electrónico usando telnet le permite probar las capacidades de conexión rápida y a menor costo que equipos o software de diagnóstico robustos. Para herramientas de prueba SMTP más avanzadas, considere usar Swaks con SparkPost para pruebas de correo electrónico completas.

Enviar correo electrónico a través de telnet puede ayudarle a identificar problemas de entregabilidad dentro de su configuración actual.

Antes de enviar un correo electrónico usando telnet, confirme que telnet está tanto instalado como habilitado en su computadora. La mayoría de las computadoras vienen preinstaladas con un cliente telnet. Para aquellas versiones de Windows que no lo tienen, se puede instalar abriendo la sección "Programas y Características" del panel de control y seleccionando "Activar o desactivar las características de Windows". Con esta ventana abierta, seleccione "cliente telnet" y luego haga clic en OK.

Una vez que se haya verificado que un cliente telnet está instalado en el servidor, abra la ventana de terminal donde ingresará sus comandos. En Windows, use Windows + R, escriba "cmd", y presione enter. Para usuarios de Mac, encontrará el ícono de terminal abriendo Finder y buscando "Utilidades" en la página de Aplicaciones, o ingresando "terminal" en la función de búsqueda de Launchpad.

A continuación, necesitamos encontrar un servidor de correo para iniciar sesión. Para esto, necesitaremos el registro DNS MX de un dominio dado. Esto se puede encontrar con el siguiente comando (para estos ejemplos se usará port25.com, pero se puede sustituir cualquier dominio):

Windows:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  MX preference = 100, mail exchanger = mail.port25.com

Linux:

nslookup -type=mx port25.com
Non-authoritative answer:
port25.com  mail exchanger = 100 mail.port25.com

Referencia Rápida de Puertos SMTP

Aquí tiene una referencia rápida a los puertos comunes de envío SMTP y cuándo usarlos:

Puerto

Encriptación

Uso Típico

Notas

25

Ninguna / TLS Oportunista

Relevo de servidor a servidor

A menudo bloqueado por proveedores de Internet para el control de spam

465

SSL/TLS Implícito

Envío seguro heredado

Obsoleto pero aún usado por sistemas antiguos

587

STARTTLS

Envío autenticado moderno

Recomendado para el envío de correo de cliente

Para configuración y optimización avanzada del servidor de correo, vea nuestra guía sobre consejos de configuración de PowerMTA. Si su retransmisión SMTP usa un puerto diferente al 25 como se muestra en el ejemplo, usará el puerto especificado por la respuesta del servidor de intercambio de correo al nslookup. También puede verificar el puerto en el que se basa su SMTP preguntando a su administrador o iniciando sesión en el servidor de intercambio de correo y revisando los protocolos.

A continuación, necesitamos el DNS PTR para la IP que vamos a usar. Primero necesitamos saber qué dirección IP ve Internet que tenemos. Para encontrarlo, podemos usar un sitio web como:

http://whatismyipaddress.com/

Con la dirección IP ejecute el siguiente comando, donde A.B.C.D es la dirección IP.

Windows:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

Linux:

nslookup -type=ptr A.B.C.D
Non-authoritative answer: 
D.C.B.A.in-addr.arpa name = server.example.com

server.example.com es solo un ejemplo, y sus resultados serán diferentes.

Así que ahora que tenemos el registro MX para port25.com y el PTR para la IP que vamos a usar, es hora de iniciar sesión en el servidor SMTP. Para hacerlo, use el siguiente comando:

telnet mail.port25.com 25

Algo similar a lo siguiente debería mostrarse ahora:

Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

Si recibe un mensaje de error como “no se puede conectar” en este punto, el número de puerto es correcto o el servidor de correo está enfrentando problemas.

El primer comando que necesitamos emitir al servidor de correo para nuestro probador de correo SMTP es el EHLO o HELO. Este es un saludo básico que inicia la comunicación entre el cliente telnet y el servidor SMTP. También se pasa el DNS PTR para la dirección IP desde la cual nos estamos conectando, como se determinó anteriormente.

EHLO server.example.com

Algo similar a lo siguiente debería ser devuelto:

250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

Esto muestra los comandos SMTP que acepta el servidor SMTP. No todos los servidores SMTP soportan los mismos conjuntos de comandos. Por ejemplo, Yahoo solo muestra lo siguiente:

250-8BITMIME 
250-SIZE 41943040 
250 PIPELINING

Y AOL muestra solo uno con:

250 DSN

El siguiente comando que necesitamos emitir es el comando MAIL FROM. Esto determina la dirección a la que se envían los rebotes. Esto no es lo mismo que el encabezado desde, que es la dirección de correo electrónico mostrada en un cliente de correo electrónico.

MAIL FROM: <support@port25.com> 250 2.1.0 MAIL ok

Asegúrese de usar el nombre de dominio que corresponde al dominio del servidor de correo. Por ejemplo, si el dominio de su correo electrónico es anycompany.com, querrá usar usted@anycompany.com en lugar de un correo externo como usted@proveedor-mail-gratis.com. La variación en los nombres de dominio puede causar que aparezca un mensaje de error.

Ahora que se ha enviado el comando MAIL FROM, podemos enviar el comando RCPT TO. Este comando le dice al servidor SMTP a quién debe enviarse el mensaje. Esto puede ser el mismo o diferente del encabezado to, que es la dirección de correo electrónico mostrada en el cliente de correo electrónico.

RCPT TO: <support@port25.com> 250 2.1.5 <support@port25.com> ok

Verifique dos veces la dirección del destinatario antes de enviar el comando RCPT TO: un mensaje de error que aparezca aquí puede indicar un destinatario de correo electrónico mal escrito o bloqueado.

El último comando que se ejecuta antes de comenzar el cuerpo del mensaje es el comando DATA. Este comando permite al servidor de correo SMTP saber que todo lo que sigue es el cuerpo del mensaje (que también contiene los encabezados).

DATA 354 send message

Es importante tener en cuenta que si un servidor de correo soporta PIPELINING, como lo hace mail.port25.com, el servidor de correo SMTP puede esperar hasta que se emita el comando DATA antes de responder a los demás comandos después del EHLO/HELO. En este caso, ingrese los comandos MAIL FROM, RCPT TO, y DATA antes de esperar una respuesta.

Ahora que se ha enviado el comando DATA, podemos comenzar a enviar el contenido del mensaje. Esto comienza con los diversos encabezados. Al mínimo, un mensaje debería contener un encabezado para, desde, asunto, y fecha. Los encabezados ingresados ​​aquí serán mostrados al usuario en su cliente de correo electrónico.

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Con los encabezados establecidos, ahora agregamos una línea en blanco con un retorno de carro/salto de línea (simplemente presione enter dos veces) y luego comenzamos el cuerpo real del mensaje.

Hola Mundo, Este es un mensaje de prueba enviado desde una sesión telnet manual. Atentamente, Administrador SMTP

Con el mensaje completo, necesitamos decirle al servidor SMTP que hemos terminado con el mensaje y queremos que el servidor de correo SMTP lo acepte. Esto se hace con un punto en una línea por sí mismo. Si durante la escritura de un mensaje se necesita un punto en una línea por sí mismo, debe poner 2 puntos, el primero escapando el segundo.

.   250 2.6.0 mensaje recibido

Si recibe un mensaje de error en lugar de la notificación de "recibido", registre los detalles relevantes y contacte a su proveedor de correo electrónico para más asistencia. Los problemas de conexión también pueden estar relacionados con los protocolos de seguridad: asegúrese de estar usando TLS 1.2 o superior para conexiones seguras.

Por último, se envía el comando QUIT para cerrar la conexión:

QUIT 221 2.0.0 mail.port25.com dice adiós

Con eso, el servidor de correo ha aceptado el mensaje para la entrega, su prueba de envío de correo telnet está completa, ¡y debería estar en el inbox de la dirección RCPT TO!

Aquí están todos los comandos sin interrupción:

telnet mail.port25.com 25
Trying 69.63.149.30...
Connected to mail.port25.com (69.63.149.30).
Escape character is '^]'.
  
220 mail.port25.com (PowerMTA(TM) v4.0) ESMTP service ready

EHLO server.example.com
250-mail.port25.com says hello
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-CHUNKING
250-8BITMIME
250-XACK
250-XMRG
250-SIZE 54525952
250-VERP
250 DSN

MAIL FROM:<support@port25.com>
250 2.1.0 MAIL ok

RCPT TO:<support@port25.com>
250 2.1.5 <support@port25.com> ok

DATA
354 send message

From: "John Smith" <jsmith@port25.com>
To: "Jane Doe" <jdoe@port25.com>
Subject: test message sent from manual telnet session
Date: Wed, 11 May 2011 16:19:57 -0400

Hello World,
This is a test message sent from a manual telnet session.
Yours truly,
SMTP administrator
.

250 2.6.0 message received

QUIT
221 2.0.0 mail.port25.com says goodbye

Enviar un correo electrónico usando telnet le permite probar las capacidades de conexión rápida y a menor costo que equipos o software de diagnóstico robustos. Para herramientas de prueba SMTP más avanzadas, considere usar Swaks con SparkPost para pruebas de correo electrónico completas.

¿Cómo puedo probar SMTP usando la autenticación Telnet?

Ahora que sabes cómo comprobar una conexión SMTP con telnet, discutiremos procedimientos de autenticación. La autenticación SMTP ayuda a prevenir que grandes cantidades de spam lleguen a las bandejas de entrada de los lectores, aunque no todos los servidores de intercambio de correo lo requieren. Comprender la autenticación también es crucial cuando analizas los encabezados de correo electrónico para la solución de problemas de entregabilidad.

La principal diferencia en los protocolos de autenticación modernos es la presencia de una codificación base64. Base64 convierte datos binarios en el formato de texto ASCII requerido por los servidores de correo para la transmisión exitosa de datos. Es una forma de representar tus credenciales de inicio de sesión — alguna combinación de texto — en un formato numérico que la computadora puede entender.

Puedes generar tu base64 usando software o herramientas gratuitas en línea. Una vez que comunicas la información al servidor de correo, este compara estos datos con sus registros para determinar la autenticación.

Para probar la autenticación SMTP a través de telnet, completa los siguientes pasos:

  • Abre el terminal y conéctate con el servidor de correo usando el nombre del servidor telnet y el comando de acceso — mail.port25.com en el ejemplo anterior.

  • Saluda al servidor con EHLO o HELO, ingresa AUTH LOGIN y espera la respuesta de la computadora.

  • Ingresa el nombre de usuario codificado en base64 y permite que el servidor responda.

  • Ingresa la contraseña codificada en base64, y deberías recibir una respuesta como “autenticación exitosa.”

  • Continúa con MAIL FROM, RCPT TO, DATA y QUIT para enviar tu correo autenticado.

Ahora que sabes cómo comprobar una conexión SMTP con telnet, discutiremos procedimientos de autenticación. La autenticación SMTP ayuda a prevenir que grandes cantidades de spam lleguen a las bandejas de entrada de los lectores, aunque no todos los servidores de intercambio de correo lo requieren. Comprender la autenticación también es crucial cuando analizas los encabezados de correo electrónico para la solución de problemas de entregabilidad.

La principal diferencia en los protocolos de autenticación modernos es la presencia de una codificación base64. Base64 convierte datos binarios en el formato de texto ASCII requerido por los servidores de correo para la transmisión exitosa de datos. Es una forma de representar tus credenciales de inicio de sesión — alguna combinación de texto — en un formato numérico que la computadora puede entender.

Puedes generar tu base64 usando software o herramientas gratuitas en línea. Una vez que comunicas la información al servidor de correo, este compara estos datos con sus registros para determinar la autenticación.

Para probar la autenticación SMTP a través de telnet, completa los siguientes pasos:

  • Abre el terminal y conéctate con el servidor de correo usando el nombre del servidor telnet y el comando de acceso — mail.port25.com en el ejemplo anterior.

  • Saluda al servidor con EHLO o HELO, ingresa AUTH LOGIN y espera la respuesta de la computadora.

  • Ingresa el nombre de usuario codificado en base64 y permite que el servidor responda.

  • Ingresa la contraseña codificada en base64, y deberías recibir una respuesta como “autenticación exitosa.”

  • Continúa con MAIL FROM, RCPT TO, DATA y QUIT para enviar tu correo autenticado.

Ahora que sabes cómo comprobar una conexión SMTP con telnet, discutiremos procedimientos de autenticación. La autenticación SMTP ayuda a prevenir que grandes cantidades de spam lleguen a las bandejas de entrada de los lectores, aunque no todos los servidores de intercambio de correo lo requieren. Comprender la autenticación también es crucial cuando analizas los encabezados de correo electrónico para la solución de problemas de entregabilidad.

La principal diferencia en los protocolos de autenticación modernos es la presencia de una codificación base64. Base64 convierte datos binarios en el formato de texto ASCII requerido por los servidores de correo para la transmisión exitosa de datos. Es una forma de representar tus credenciales de inicio de sesión — alguna combinación de texto — en un formato numérico que la computadora puede entender.

Puedes generar tu base64 usando software o herramientas gratuitas en línea. Una vez que comunicas la información al servidor de correo, este compara estos datos con sus registros para determinar la autenticación.

Para probar la autenticación SMTP a través de telnet, completa los siguientes pasos:

  • Abre el terminal y conéctate con el servidor de correo usando el nombre del servidor telnet y el comando de acceso — mail.port25.com en el ejemplo anterior.

  • Saluda al servidor con EHLO o HELO, ingresa AUTH LOGIN y espera la respuesta de la computadora.

  • Ingresa el nombre de usuario codificado en base64 y permite que el servidor responda.

  • Ingresa la contraseña codificada en base64, y deberías recibir una respuesta como “autenticación exitosa.”

  • Continúa con MAIL FROM, RCPT TO, DATA y QUIT para enviar tu correo autenticado.

Otras noticias

Leer más de esta categoría

A person is standing at a desk while typing on a laptop.

La plataforma completa AI-native que escala con tu negocio.

© 2025 Bird

A person is standing at a desk while typing on a laptop.

La plataforma completa AI-native que escala con tu negocio.

© 2025 Bird