Enviar correo via Telnet

Introducción: Enviar correo via Telnet

En este post vamos a tratar de enviar correo via telnet. Esto nos permite poder probar nuestros servidores de correo si lo tenemos abierto (open relay) o si queremos realizar una prueba de envío básica.

Queremos trabajar en este caso desde dos puntos distintos:

1) Enviando un correo a un servidor smtp Open Relay

2) Enviando un correo autentificando por SMTP

Enviando un correo a un servidor smtp open relay

Lo primero que debemos definir antes de empezar a realizar el envío es ¿Qué es un open relay?.

Open relay es un servidor SMTP (permite el envío de correos) sin tener que autentificar contra el servidor (el segundo caso que explicaremos).

Existen muchos casos en los que la gente usa este tipo de configuraciones SMTP y es generalmente cuando tienes una plataforma interna y necesitan enviar correo de manera rápida. Os preguntaréis ¿qué medida de seguridad tienen? pues bien generalmente se controla el acceso a través de la IP de aquellos dispositivos que pueden enviar email sin control.

1) Conectando con el servidor SMTP. Para ello utilizaremos el comando telnet al puerto 25 (Puerto por defecto) desde la consola.

telnet 192.168.10.10 25

2) Saludando al servidor SMTP. Una vez dentro tenemos que hacer un «HELO» o con el subdominio con el que vamos a enviar el correo «HELO ejdominio.com».

HELO
HELO ejdominio.com

3) Añadiendo el origen del correo. Tenemos que usar la siguiente sintaxis para poder poner desde donde enviamos el correo electrónico. Recordad que esto nos sirve para identificar quien lo envía y que podamos tener respuesta a un correo válido.

MAIL FROM: pruebas@ejdominio.com

4) Destinatarios del correo. Para agregar los destinatarios tenemos que usar la palabra «RCTP TO:» una línea por cada destinatario. Por ejemplo en nuestro caso vamos a enviar a 2 destinatarios distintos.

RCTP TO: destinatario1@ejdominio.com
RCTP TO: destinatario2@ejdominio.com

5) Agregar un asunto. Este punto no es necesario pero para mi punto de vista es importante debido a que es identificativo y ademas los servidores antispam suelen dar puntuaciones altas a mensajes sin asunto (para considerarlo SPAM).

SUBJECT: Esto es una prueba

6) Agregando el mensaje. Para agregar un mensaje a nuestro email tan solo tenemos que escribir la palabra «DATA» y pulsar enter. Una vez dentro podemos escribir lo que queramos. Para finalizar y enviar el correo debemos pulsar enter , agregar un «.» y pulsar enter de nuevo. Con esto enviará nuestro correo a los destinatarios.

DATA
Hola
Mensaje de prueba.
Un saludo.
.

Si todo ha ido bien el servidor nos devolverá un mensaje de que todo ha ido bien. En caso de que de un error ver el apartado «Posibles problemas enviando correo».

Enviando un correo autentificando por SMTP

Antes de empezar a trabajar en este punto lo primero que haremos (desde una consola Linux por ejemplo) es pasar tanto nuestro nombre de usuario como contraseña a BASE64. Esto es necesario a la hora de validarnos.

Para hacerlo en linux es sencillo:

echo 'nombre_usuario' | base64
echo 'contraseña' | base64

Para comprobar que está todo correcto podemos desconvertir lo realizado:

echo 'nombre_usuario_base64' | base64 -d
echo 'contraseña_base64' | base64 -d

NOTA#1: El uso de las comillas simples (‘) es la forma más fácil de hacerlo debido a que tomará literales las cosas. Si usamos comillas dobles («) los caracteres especiales los tenemos que escapar con «\».

NOTA#2: Podemos usar un servicio web para que nos haga las conversiones. Pero debemos asegurarnos que no se queda con la información nuestra.

Una vez obtenido nuestro usuario y contraseña en BASE64 procemos a realizar el envío:

1) telnet 192.168.10.10 25
2) HELO dominio.com
3) AUTH LOGIN
4) USUARIO-EN-BASE64
5) CONTRASEÑA-EN-BASE64
6) Escribimos "DATA" y para finalizar pulsamos un punto y aparte.

Paara salir escribimos quit.

Posibles problemas enviando correo

«550 5.7.1 Unable to relay»: Este mensaje de error suele ocurrir cuando no te permite el envío.

«554 5.1.0 Sender denied»: Ocurre cuando no permite enviar desde el dominio que envías.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.