Spiga

Enviar correos -SMTP- y recibir -POP3- via telnet.

Bueno, bueno, bueno. Aquí os traigo una manera diferente de mandar y revisar vuestros correos en modo ·friki· usando para ello Telnet y por supuesto nuestra querida consola/terminal/sitiodescribir.

Lo primero que tendríamos que tener en cuenta antes de proceder con estos o cualquier protocolo seria saber como funciona y se comporta según un estándar que se ha creado para este fin, llamado RFC (acrónimo de Request For Comments).

Para estos casos usaremos el rfc1869 y rfc1939:

  • Post Office Protocol - Versión 3, POP3 (rfc1939)
  • Extensiones del Servicio SMTP (rfc1869)
Sin más paso a explicar, como -de fácil- se envían correos -anónimos si se trabaja con un servidor propio, como es el caso.

.- SMTP
· Lo primero que tenemos que hacer es llamar a la aplicación, junto a la IP del servidor y el PUERTO (en mi caso uso localhost o -127.0.0.1-):

$ telnet localhost 25

· Una vez hecho esto, si el servidor nos da la bienvenida (con un 220) le saludaremos educadamente:

HELO neo

· Ahora escribimos el remitente:

MAIL FROM: correo@origen.com

· Y ahora el destinatario:

RCPT TO: correo@destino.com

· Llego el momento de indicar al servidor que introducimos los datos del mensaje:

DATA

· Y justo después introducimos el asunto / titulo del mensaje

Subject: Soy el titulo!

· Ahora el cuerpo del mensaje:

Aqui pongo el texto del mensaje!

· Para acabar con el mensaje usaremos un "." (punto)

.

· Y para salir:

QUIT


Todo el código, de inicio a fin:

$ telnet localhost 25
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 neo-portatil ESMTP Postfix (Ubuntu)
HELO neo-portatil
250 neo-portatil
MAIL FROM: correo@origen.com
250 2.1.0 Ok
RCPT TO: correo@origen.com
250 2.1.5 Ok
DATA
354 End data with .
Subject: Soy el titulo!
Aqui pongo el texto del mensaje!
.
250 2.0.0 Ok: queued as 82F8BA5B97
QUIT
221 2.0.0 Bye
Connection closed by foreign host.

Visto esto, es muy fácil crear una aplicación, por ejemplo, mmm... para enviar correos anónimos de forma masiva... mailbomb :P (Que mala leche tengo muahaha)


.-POP3
· Ahora pasamos a revisar correos de un servidor.

$ telnet servidordecorreo 110

· Ahora introducimos el nombre de usuario:

USER nombreusuario

· Y su contraseña:

PASS contraseña

· Si la respuesta es positiva, lo que viene a ser un +OK POP3. Ahora listaremos los mensajes en la bandeja de entrada:

LIST

· Y leemos el que queramos con un RETR, donde X es el número de mensaje que nos aparecio anteriormente.

RETR X

· Si queremos borrar un mensaje usaremos (substituyendo X por el numero del mensaje):

DELE X

· Con el siguiente comando nos despedimos y cerramos la comunicación:

QUIT


Aqui un ejemplo de su uso:

$ telnet servidordeprueba 110
Trying xxx.xxx.xxx.xxx...
Connected to servidordeprueba.
Escape character is '^]'.
+OK Hello there.
USER usuario
+OK Password required.
PASS contraseña
+OK logged in.
LIST
+OK POP3 clients that break here, they violate STD53.
1 2259
.
RETR 1
+OK 2259 octets follow.
Return-path:
Envelope-to: Servidor
Delivery-date: Tue, 14 Jul 2009 13:44:06 +0200
.
DELE 1
+OK Deleted.
LIST
+OK POP3 clients that break here, they violate STD53.
.
quit
+OK Bye-bye.
Connection closed by foreign host.

Estas dos maneras se pueden usar tanto en Linux(consola) como en Windows(cmd).

5 comentarios:

  DaRKnSiS

28 de julio de 2009, 0:01

He creado un monstruo! Hahahaha

  NeoDaVe

28 de julio de 2009, 14:06

El monstruo ya estaba creado, simplemente le has abierto los ojos. xDDD

Y sabes que siempre te lo agradeceré.

  Luis

12 de agosto de 2009, 1:22

lo he probado en mi debian lenny y con telnet me conecto al puerto 25, pero el mensaje no sale, ¿tengo q instalar algun servidor de mail por eg. sendmail??, en una virtual de win$ desde el cmd directamente no me pude conectar al puerto 25 por mas que este el servicio telnet iniciado y firewall abierto

  NeoDaVe

12 de agosto de 2009, 13:00

Luis, bajate minirelay. Es para windows. Lo ejecutas y pruebas desde telnet.

http://minirelay.softonic.com/

Te lo tendría que enviar sin problemas.

  David

17 de febrero de 2010, 6:02

Vaya, probe a mandar un correo, pero nunca llego.

Quise hacer como si google me mandara un correo...xD:

telnet localhost 25
HELO dav-lap
MAIL FROM: google@google.com
RCPT TO: davidjhi@gmail.com
DATA
Subject: correo desde google
texto estupido
.
QUIT


----------------

Pero nunca me llego ningun correo de google!!.

Ya tengo instalado el postfix, no se que estara fallando.