Anda di halaman 1dari 4

Envo de correos electrnicos en Linux

desde una cuenta de Gmail mediante Telnet

Telnet es una pequeo programa que sirve para hacer algunas cosas relacionadas con
servicios y redes. Telnet enva cadenas de caracteres en ASCII directamente a otro
equipo. Siempre que cualquier protocolo de red funcione en base a mensajes en ASCII,
nos podremos comunicar mediante Telnet. Algunos protocolos de ese tipo son SMTP y
HTTP.

En esta prctica intentaremos enviar un email utilizando el protocolo SMTP. Usaremos


telnet para ello, mandando un email mediante el envo con telnet de mensajes ASCII del
protocolo SMTP.

Preparacin.

Primero tenemos que instalar telnet con soporte SSL. Todos los servidores SMTP usan
cifrado SSL hoy en da, por lo que simplemente usar telnet no funcionar. El paquete de
telnet que viene predeterminado con Ubuntu no es compatible con SSL, por lo que
necesitamos actualizarlo a una versin que incluye ms funcionalidad:

sudo apt-get install telnet-ssl

Para ejecutar el nuevo telnet-ssl usaremos telnet en la terminal de comandos como


antes. La diferencia es que telnet ahora soporta algunos nuevos parmetros como por
ejemplo -z, que se utiliza para SSL.

Tambin vamos a necesitar acceder a la pgina http://www.base64encode.org para


codificar nuestro nombre de usuario y contrasea en el formato base64. Tenga en cuenta
que la base 64 no cifra un mensaje, sino que simplemente cambia la forma en que se
almacena la informacin. En la prctica utilizamos la base 64 para poder enviar
cualquier tipo de datos como simples caracteres.

Pasos a seguir.
1. Iniciar la sesin de telnet

telnet -z ssl smtp.gmail.com 465

El modificador -z ssl le especifica a telnet que use tunelizacin SSL sobre la conexin
realizada. smtp.gmail.com is el nombre de dominio del servidor de Gmail y 465 es el
puerto usado por el servidor.

1
2. Recibir contestacin del servidor

HELO yo

El texto despus de HELO debera ser el nombre de dominio de su equipo, aunque en


realidad se puede escribir cualquier cosa. Al pulsar <intro> el mensaje llega al servidor
de correo electrnico, que contesta con:

250 mx.google.com at your service

3. Autenticarse con la cuenta de Gmail

AUTH LOGIN

Este mensaje indica que el usuario de la cuenta de correo debe loguearse. Al recibir el
servidor el mensaje, nos pedir el nombre de usuario, de esta manera:

334 VXNlcm5hbWU6

, que es una respuesta del servidor escrita en Base64 y que indica que se escriba el
nombre de usuario.

4. Nombre de usuario

Nos conectamos a http://www.base64encode.org para codificar nuestro nombre de


usuario (elquesea@gmail.com) en formato Base64. El cdigo obtenido lo copiamos y
pegamos en la sesin de telnet y pulsamos <Intro>. Si el nombre de usuario es aceptado,
se obtiene el siguiente mensaje:

334 UGFzc3dvcmQ6

, indicando que debe introducirse la contrasea de acceso a la cuenta de correo.

5. Contrasea

Aqu se vuelve a hacer lo mismo que en el paso anterior, pero con la contrasea. Si la
contrasea es la correcta, el servidor contesta con el siguiente mensaje:

235 2.7.0 Accepted

6. Remitente del mensaje

Una vez logueados, el siguente paso es aadir el remitente del mensaje:

MAIL FROM: <username@gmail.com>

2
Para Gmail, el remitente que se escriba es indiferente, puesto que ya sabe quin es el
remitente al habernos logueado (es decir, el remitente es nuestra propia cuenta de
correo) mediante el mensaje AUTH LOGIN que enviamos al servidor.

El servidor de Gmail contesta con este mensaje :

250 2.1.0 OK js17sm40481494lab.5 gsmtp

7. Receptor del email

Ahora debemos aadir la direccin de correo electrnico a la que enviamos nuestro


email. Hay que introducir una direccin existente vlida, puesto que en caso contrario
Gmail nos devolver el mensaje, probablemente a nuestra Carpeta de Entrada.

RCPT TO: <username@gmail.com>

En caso de que no haya error obtenemos este mensaje:

250 2.1.5 OK js17sm40481494lab.5 gsmtp

8. Cuerpo del email

Lo siguiente es comenzar a escribir el contenido del correo electrnico. Para ello


escribiremos la siguiente orden para el servidor:

DATA

La respuesta procedente del servidor ser:

354 Go ahead js17sm40481494lab.5 - gsmtp

Podemos aadir el asunto del mensaje, si lo deseamos...

Subject: test

Y el resto de texto que escribamos ser el cuerpo o contenido propiamente dicho del
mensaje, finalizando el mensaje con un punto y un <Intro>:

This is a line in the email.


This is a second line in the email.
.

Entonces, el servidor contestar con:

250 2.0.0 OK 1381416452 js17sm40481494lab.5 - gsmtp

Lo que significa que el correo ha sido enviado correctamente.

3
9. Cerrar la sesin de telnet

QUIT

Finalmente cerramos la sesin de telnet.

El destinatario del correo electrnico podr comprobar que el email ha llegado


correctamente a su bandeja de entrada.