Cómo Enviar Emails con Telnet

On febrero 19, 2025
10min read
Ketevan Bostoganashvili Technical Content Writer @Mailtrap
This is a cover image for an article that explains How to Send Emails with Telnet

Telnet o Teletype Network Protocol es un protocolo de aplicación cliente/servidor que permite a los usuarios conectarse con los servidores de email directamente desde la línea de comandos de su computadora.

El propósito principal de Telnet es establecer una conexión estandarizada entre dispositivos y procesos orientados a terminal (RFC 854).

También puede utilizarse para enviar emails y, en ese proceso, probar la conexión del Protocolo Simple de Transferencia de Email (SMTP). Sin embargo, existen limitaciones específicas que impiden el envío real de emails en producción, y las discutiremos detalladamente.

Veamos cómo enviar emails usando Telnet en los sistemas operativos Windows y Linux.

¿Listo para enviar sus emails?
Pruebe Mailtrap Gratis

Enviar emails vía Telnet en Windows

Requisitos previos

  • Acceso de administrador o equivalente
  • Servidor SMTP configurado
  • Telnet habilitado en la computadora o equipo del host
  • Conocimiento básico de comandos de PowerShell y línea de comandos

Instalación del cliente Telnet

La mayoría de las versiones de sistemas operativos Windows no tienen Telnet habilitado por defecto. Por lo tanto, para comenzar, primero necesitamos instalar el cliente Telnet. El proceso de instalación variará ligeramente según la versión de Windows que usted esté utilizando. En general, tenemos tres opciones principales:

  • Instalación usando la línea de comandos;
  • Instalación usando PowerShell;
  • Instalación desde el Panel de Control.

Instalación usando la línea de comandos

Presione la tecla Windows o haga clic en el botón Inicio. Localice el cuadro de Búsqueda, escriba cmd y presione Enter. haga clic derecho en Símbolo del sistema y seleccione Ejecutar como administrador. De esta manera, tendrá los derechos para completar la instalación. El siguiente paso es ingresar un comando específico en la línea de comandos.

Para Windows 7, Windows Server 2008 R2, Windows Server 2008, o Windows Vista, escriba el siguiente comando y presione Enter:

pkgmgr /iu:"TelnetClient" 

Para Windows 8 y versiones superiores, escriba este comando y presione Enter:

dism /online /Enable-Feature /FeatureName:TelnetClient

Espere a que se complete la instalación. Debería recibir un mensaje de confirmación en las versiones más nuevas de Windows.

Instalación usando PowerShell

Otra opción es usar PowerShell para instalar el cliente Telnet. Sin embargo, esto sólo es aplicable a Windows 8.1, Windows 10, Windows Server 2012 R2 o posteriores.

Abra la ventana de administrador de PowerShell, escriba el siguiente comando y presione Enter.

Enable-WindowsOptionalFeature -Online -FeatureName TelnetClient

Espere a que se complete la instalación.

Instalación usando el Panel de Control

Finalmente, puede instalar el cliente Telnet desde el Panel de Control. Para hacerlo, encuentre Programas (o Programas y características) y ábralo. Localice Activar o desactivar las características de Windows y haga clic en él. Verá un cuadro de Características de Windows. Encuentre Cliente Telnet y marque la casilla. Luego presione Aceptar. Espere a que se complete la instalación y reinicie la computadora para aplicar los cambios.

Para otras opciones de instalación, consulte la documentación de Microsoft.

Envío de emails

El proceso de envío de emails sigue la lógica y el orden de la transmisión SMTP: handshake, transmisión y terminación de la sesión. Utiliza comandos SMTP y se conecta al servidor a través de un puerto TCP. Consulte este artículo para encontrar más información sobre el funcionamiento de SMTP.

Nota: Telnet no es una forma segura de enviar emails. Establece una conexión no cifrada, ya que no admite SSL o TLS. Esto significa que cualquier persona con acceso a su red puede interceptar la transmisión y acceder al contenido de su mensaje.

Tampoco puede conectarse a servidores SMTP con autenticación, ya que la mayoría de ellos requieren cifrado TLS o SSL antes de permitir métodos de autenticación LOGIN y PLAIN (la autenticación sin TLS sólo está permitida en servidores SMTP de prueba). Debería usar OpenSSL en lugar de Telnet para conectarse a servidores SMTP con cifrado. Hablaremos sobre OpenSSL más adelante.

Debido a todo esto, en realidad cubriremos el “envío de emails” a Mailtrap sandbox, que es un SMTP falso utilizado para propósitos de prueba.

Para iniciar una sesión SMTP, necesitará el nombre de dominio completo o la dirección IP del servidor SMTP al que intenta conectarse. Como dijimos, usaremos Email Testing de Mailtrap, e ingresaremos: sandbox.smtp.mailtrap.io.

También necesitará identificar el puerto, que puede ser 25, 587, 465 o 2525. El número de puerto depende de las configuraciones del servidor SMTP al que intenta conectarse. La mayoría de los servidores SMTP bloquean las transmisiones a través del puerto 25. Los puertos 587 y 2525 deben usarse con cifrado TLS.

Escriba el comando: 

telnet sandbox.smtp.mailtrap.io 2525

Nota: Email Testing de Mailtrap no aceptará conexiones Telnet a través del puerto 25. Necesitará usar el puerto 2525.

Verá la respuesta que comienza con el código 220 si la conexión es exitosa. Por ejemplo, 

220 sandbox.smtp.mailtrap.io ESMTP server ready

El siguiente paso es identificarse ante el host SMTP.

EHLO example.com or HELO example.com 

Nota: El comando HELO iniciará una conexión SMTP sin extensiones de servicio. Por lo tanto, los comandos ESMTP correspondientes (como STARTTLS, por ejemplo) no serán compatibles.

Todas las extensiones SMTP compatibles se listarán en la respuesta. Cada línea comenzará con 250, indicando una conexión exitosa. 

250-sandbox.smtp.mailtrap.io
250-PIPELINING
250-SIZE 10485760
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

Luego puede proceder a transferir los campos de email necesarios según la especificación SMTP. Primero, escriba MAIL FROM, luego RCPT TO, y luego escriba DATA.

MAIL FROM: <remitente@ejemplo.com>
250 2.1.0 Sender OK
RCPT TO: <destinatario@ejemplo.com> 
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
From: remitente@ejemplo.com
To: destinatario@ejemplo.com
Subject: Email de prueba vía Telnet

Este es mi primer mensaje de prueba enviado usando el cliente Telnet en Windows
.
250 2.0.0 Ok: queued as ABC123456789

Para finalizar la sesión, debe escribir el comando QUIT. El servidor responderá con 221 2.0.0 Service closing transmission channel, y la conexión se terminará.

Un ejemplo completo se verá algo así: 

telnet sandbox.smtp.mailtrap.io 2525
220 sandbox.smtp.mailtrap.io ESMTP server ready
EHLO ejemplo.com
250-sandbox.smtp.mailtrap.io Hello
250-SIZE 37748736
250-PIPELINING
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-X-ANONYMOUSTLS
250-AUTH NTLM
250-X-EXPS GSSAPI NTLM
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250 XRDST
MAIL FROM: <remitente@ejemplo.com>
250 2.1.0 Sender OK
RCPT TO: <destinatario@ejemplo.com>
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
From: remitente@ejemplo.com
To: destinatario@ejemplo.com
Subject: Email de prueba vía Telnet

Este es mi primer mensaje de prueba enviado usando el cliente Telnet en Windows
.
250 2.0.0 Ok: queued as ABC123456789
QUIT
221 2.0.0 Service closing transmission channel

Para aprender cómo enviar emails de prueba con Telnet en Windows, mire nuestro tutorial dedicado: 

Envío de emails usando Telnet en Linux

Enviar emails usando Telnet en una consola Linux es muy similar a Windows. La diferencia está solo en el proceso de instalación.

Requisitos previos

  • Cualquier versión de la distribución Linux
  • Acceso de administrador vía usuario root o comando sudo
  • Telnet
  • Servidor de email funcional

Instalación del cliente Telnet

Si el cliente Telnet no está instalado en su equipo, puede instalarlo desde su gestor de paquetes. Los comandos específicos variarán según la distribución de Linux que usted esté utilizando.

Para Arch Linux y Manjaro, escriba el siguiente comando en la ventana de terminal y presione Enter:

$ sudo pacman -S inetutils 

Para Ubuntu, Kali Linux, Debian y Linux Mint:

$ sudo apt install telnet 

Para Red Hat, Fedora y Centos::

$ sudo dnf install telnet 

Se le pedirá que ingrese su contraseña de administrador. Escríbala y presione Enter nuevamente. Espere a que se complete la instalación.

Envío de los emails

Para comenzar a enviar emails (nuevamente enviaremos al sandbox de Email Testing de Mailtrap), inicie la sesión de Telnet escribiendo este comando:

$ telnet sandbox.smtp.mailtrap.io 25

Luego proceda de la misma manera que describimos anteriormente. No olvide seguir el orden exacto de los comandos SMTP, de lo contrario, la transmisión no será exitosa. Si escribe mal alguno de los comandos, no podrá hacer correcciones con la tecla de retroceso. Se recomienda presionar Enter, esperar el mensaje de error y luego enviar el comando correcto.

Para aprender cómo enviar emails de prueba con Telnet en Linux, mire nuestro tutorial dedicado: 

Enviar mensajes de email con cuerpo HTML y archivos adjuntos a múltiples destinatarios

También es posible enviar emails HTML con Telnet. Para eso, necesitará definir el Content-Type como text/html o multipart/alternative. Esta porción debe insertarse en su email después del comando DATA.

DATA

Mime-Version: 1.0      
Content-Type: multipart/alternative; boundary="peaches"; 

--peaches
Content-Type: text/plain

Este es un mensaje de texto plano enviado usando Telnet

--peaches
Content-Type: text/html

<h1>Este es un mensaje HTML enviado usando Telnet</h1>

--peaches--
.
250 2.0.0 Ok: queued as ABC123456789
QUIT
221 2.0.0 Service closing transmission channel

Ahora enviemos un email con un archivo adjunto. Para completar esa tarea, necesitaremos formatear el mensaje con MIME. El Content-Type debe definirse como multipart/mixed para que el servidor de email sepa que el email contendrá múltiples partes, incluyendo un archivo adjunto. El encabezado Content-Disposition incluirá el archivo adjunto en sí.

DATA

From: remitente@ejemplo.com
To: destinatario@ejemplo.com
Subject: Email de Telnet con archivos adjuntos

MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=boundary_9876

--boundary_9876
Content-Type: text/plain

Este es el cuerpo del mensaje de email.

--boundary_9876
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="migatolindo.jpg"

Este es el contenido del archivo adjunto.

--boundary_9876--
.
QUIT

Finalmente, enviemos emails a múltiples destinatarios. Esta es la parte más fácil de todas. Solo necesitamos enviar el comando RCPT TO varias veces e incluir las direcciones de los destinatarios en el campo to después del comando DATA. Por ejemplo:

MAIL FROM: <remitente@ejemplo.com>
250 2.1.0 Sender OK
RCPT TO: <destinatario1@ejemplo.com>
250 2.1.5 Recipient OK
RCPT TO: <destinatario2@ejemplo.com>
250 2.1.5 Recipient OK
RCPT TO: <destinatario3@ejemplo.com>
250 2.1.5 Recipient OK
DATA
354 Start mail input; end with <CRLF>.<CRLF>
From: remitente@ejemplo.com
To: destinatario1@ejemplo.com, destinatario2@ejemplo.com, destinatario3@ejemplo.com
Subject: Email de Telnet para múltiples destinatarios 

¿Es posible enviar emails con Telnet usando servidores SMTP gratuitos?

Sí y no.

No podrá enviar emails con la consola Telnet a servidores SMTP gratuitos usando el puerto 25. Como se mencionó anteriormente, está bloqueado por la mayoría de los clientes de email. Entonces, si usted quisiera enviar un email a Gmail, Yahoo o Microsoft Outlook, necesitaría usar el puerto 587.

Aun así, la conexión solo puede usarse para probar un puerto específico o una parte de la conexión. Telnet no admite cifrado SSL o TLS, por lo que es probable que no pueda enviar emails exitosamente. No pudimos enviar emails conectándonos a los servidores SMTP de Gmail, Outlook y Yahoo.

Para probar la conexión en diferentes puertos, puede usar los comandos telnet smtp.gmail.com 587 o telnet smtp-mail.outlook.com 587. Si la respuesta es 220, eso indicará que no hay ningún problema con los puertos mencionados.

Solución de problemas comunes de Telnet

Cuando algo sale mal en su sesión SMTP, recibirá mensajes de error. Al interpretarlos, podrá entender cuál es el problema con la conexión o el servidor SMTP.

Aquí hay una lista de los errores más comunes y cómo solucionarlos:

  • 550 Invalid recipient – ocurre generalmente cuando la dirección de email del destinatario es incorrecta o no existe. La solución es revisar errores tipográficos o usar otra dirección para contactarlos;
  • 535 Authentication failed – verá este error si el servidor SMTP no puede autenticar el cliente Telnet. Las causas comunes incluyen nombres de usuario/contraseñas incorrectos y métodos de autenticación inválidos. Asegúrese de estar usando las credenciales correctas. Además, revise la lista de comandos soportados al elegir entre los métodos de autenticación LOGIN y PLAIN.
  • Connection closed o timed out – verá estos errores cuando el cliente Telnet no logra establecer una conexión con el servidor SMTP. Típicamente, esto se debe a un problema de red, un número de puerto incorrecto o un firewall bloqueando la conexión. Las soluciones incluyen probar diferentes puertos, verificar su conectividad de red, revisar la configuración SMTP y deshabilitar el firewall en su host.
  • 502 Unrecognized command – ocurre cuando se usa un comando incorrecto. Para resolver el problema, verifique los comandos que está usando. Presione Enter para ingresar un nuevo comando. Recuerde “Backspace” y “Delete” no funcionarán una vez que se establezca la conexión.
  • 421 Service not available – este error generalmente ocurre cuando el servidor SMTP no está disponible o no puede procesar la solicitud. Esto podría deberse a una interrupción de la red o a que el servidor está en mantenimiento. Para solucionar el problema, puede esperar e intentar nuevamente, verificar su conexión de red o verificar la configuración SMTP.

¿Existe una alternativa para enviar emails usando Telnet?

Como mencionamos anteriormente, Telnet es una forma no segura de enviar emails. Incluso si su servidor SMTP elegido le permite usar SMTP AUTH sin SSL/TLS (lo más probable es que ningún servidor SMTP en producción le permita hacerlo), sus credenciales seguirán siendo visibles para cualquiera conectado a la misma red.

Además, sus credenciales solo estarán cifradas con Base64, que es bastante simple de descifrar. Esto lo dejará vulnerable a ataques. Si sus credenciales se ven comprometidas, será fácil para los atacantes enviar emails falsos o leer el contenido de sus mensajes.

Más aún, para usar el comando SMTP AUTH en Windows, necesita autenticación básica. Desafortunadamente, Microsoft ha descontinuado la autenticación básica para nuevos inquilinos, lo que significa que no podrá realizar la autenticación SMTP desde las versiones más nuevas de Windows. Esto le obligará a completar la sesión sin SMTP AUTH.

Por eso Telnet generalmente se usa para enviar emails de prueba, depurar conexiones SMTP o verificar si el servidor SMTP o Exchange Server es accesible a través del puerto 25. Nunca debería usar Telnet para enviar emails en producción. E incluso si solo quiere probar servidores de email, hay mejores alternativas en el mercado, como OpenSSL y Mailtrap.

OpenSSL – Alternativa a Telnet para envío de emails cifrados

OpenSSL es una herramienta de línea de comandos de open-source que soporta cifrado SSL/TLS. Para instrucciones de instalación en Windows, Linux y otros sistemas operativos, consulte la documentación oficial. En Windows, también puede descargar el instalador. En Linux, puede usar repositorios base e instalar OpenSSL usando los siguientes comandos:

  • Ubuntu, Debian, Kali Linux, Linux Mint: sudo apt-get install openssl
  • Red Hat, Fedora, Centos: sudo dnf install openssl
  • Arch Linux, Manjaro: sudo pacman -Sy openssl

Una vez completada la instalación, use la siguiente línea para conectarse al servidor SMTP: 

openssl.exe s_client -starttls smtp -connect sandbox.smtp.mailtrap.io:25 

Luego puede saludar al servidor e identificarte con EHLO como lo hicimos con Telnet. Continúe con el comando STARTTLS y autentíquese usando los comandos AUTH LOGIN o AUTH PLAIN.

OpenSSL puede usarse tanto en entornos de staging como de producción. Sin embargo, OpenSSL no se recomienda para enviar grandes volúmenes de emails.

Mailtrap – Una alternativa a Telnet para pruebas y envío de grandes volúmenes de emails

Mailtrap es una plataforma para probar, enviar y controlar el rendimiento de su infraestructura. Tiene dos soluciones: Email Testing y Email API/SMTP.

Email Testing de Mailtrap es un Email Sandbox que le permite inspeccionar de forma segura sus emails en staging sin enviar spam a los destinatarios.

Con Email Testing, puede probar un relay SMTP o servidor SMTP enviando un email a un inbox virtual. Solo necesitará ingresar la dirección de email del Inbox como su destinatario y resolver fácilmente problemas de envío.

Dirección de email del inbox de Email Testing

Además, Email Testing proporciona las credenciales del servidor SMTP falso, permitiéndole integrarlo fácilmente con su aplicación. Para mayor flexibilidad y pruebas automatizadas, puede usar SDKs o snippets de código listos para usar.

Una vez que Email Testing está integrado, podrá verificar HTML/CSS, previsualizar sus emails, revisar la información técnica para validar headers e inspeccionar el puntaje de spam. Todo esto está disponible sin los problemas de seguridad que tiene Telnet.

Cuando todas las pruebas estén completadas, puede enviar grandes volúmenes de emails en producción con Email API/SMTP de Mailtrap – una infraestructura con altas tasas de entregabilidad por diseño. Puede integrarse con su aplicación usando el servicio SMTP o API RESTful, permitiendo una configuración fácil y sin problemas.

Después de enviar los emails, puede monitorear su rendimiento con la función Actionable Analytics de Email API/SMTP. Puede rastrear métricas esenciales de email o solucionar cualquier problema inesperado de envío, en caso de que ocurran.

Estadísticas de Email API/SMTP de Mailtrap

Conclusión

¡Eso es todo! Ahora sabe cómo enviar emails usando Telnet desde Windows y Linux. Puede enviar mensajes de email simples o agregar un cuerpo HTML, e incluso archivos adjuntos.

Recuerde, debe evitar enviar emails usando Telnet en producción para prevenir problemas de seguridad y vulnerabilidades. Usar otras herramientas como la Plataforma de Email Delivery de Mailtrap es mucho más razonable. Si le gustan nuestros tutoriales, consulte nuestras guías sobre envío de emails con PowerShell o envío de emails con SMTP.

Article by Ketevan Bostoganashvili Technical Content Writer @Mailtrap

I’m a Technical Content Writer with more than 5 years of experience and passion to cover software engineering topics. I mostly write about email infrastructure and create code-rich guides about sending and testing emails, but I also love writing about result-driven email marketing.