domingo, febrero 19, 2006

MDA : Conectandose a POP3 en el 110

Esto es un ejemplo de como leer correos conectandose directamente, via telnet al puerto 110 de nuestro servidor de correo entrante, en rojo lo que teclearemos nosotro, en gris los comentarios o explicaciones y en calipso las respuestas del servidor en la consola.

[root@mail root]# telnet pop3.dominio.com 110
Trying 200.200.200.200...
Connected to mail (200.200.200.200).
Escape character is '^]'.
+OK POP3 mail v2003.83rh server ready
user usuario # "usuario" es el nombre de usuario a conectar
+OK User name accepted, password please
pass password #password es la contraseña de "usuario"
+OK Mailbox open, 2 messages
list
#lista numero correo y tamaño
+OK Mailbox scan listing follows
1 490
2 800
.
retr 1 #traemos el correo 1
+OK 490 octets #los headers fueron alterados
Return-Path:
Received: from mail.dominio.com (mail [200.200.200.200])
by dominio.com (8.12.11/8.12.11) with SMTP id k1J6loTT015253
for usuario@dominio.com; Sun, 19 Feb 2006 03:48:38 -0300
Date: Sun, 19 Feb 2006 03:47:50 -0300
Message-Id: <200602190648.k1j6lott015253@dominio.com>
From: "Te Estoy Jodiendo"
Subject: Esto es una prueba
Body:
Probando rescate de correo desde POP3 via telnet
Status:

.
dele 1 #borramos el correo 1
+OK Message deleted

quit #desconectamos
+OK Sayonara
Connection closed by foreign host.
[root@mail root]#

MTA : Enviando correos en el puerto SMTP directamente

Este tips es para comprobar la recepcion de correos, enviando un correo directamente a la puerta 25 de nuestro servidor de correo a traves del comando telnet.
Para esto hacemos telnet al servidor de correo, en este caso sera mail.dominio.com, que queremos chequear de la siguiente manera:

$ telnet mail.dominio.com 25

Luego aparecera lo que sucedera sera algo similar, lo rojo debemos teclearlo nosotros y el resto sera respuesta del servidor, le enviaremos el mail a la casilla joker@dominio.com desde joker@deafuera.com

$ telnet mail.dominio.com 25
Trying 200.200.200.200...
Connected to mail.dominio.com.
Escape character is '^]'.
220 mail.dominio.com ESMTP Postfix (Centos 4.2)
HELO mail.dominio.com
250 mail.dominio.com
MAIL FROM:
250 Ok
RCPT TO:
250 Ok
DATA
354 End data with .
From:"Te estoy Jodiendo" <teestoyjodiendo@dominio.com>
Subject: Hola, esto es una prueba
Body:
Este es un mensaje de pruebas enviado a traves de telnet.
.
250 Ok: queued as 5F496BEE9
QUIT
221 Bye
Connection closed by foreign host.

Despues de haber tipeado DATA, todo lo que se escriba estara en el cuerpo del correo, es asi como escribir un From , Subject o Body se veran en el lector de correo como se colocan en la seccion DATA, y en el caso de el lector de correo en el From se vera lo que se escribio en DATA y no lo que se escribio en MAIL FROM. Prueben, este es solo un ejemplo, mejor es seguir jugando.

MTA: Comprobar AUTH PLAIN

Para tener el valor del string que se envia como contraseña a un servidor SMTP cuando tiene auth plain, lo hacemos con:

perl -MMIME::Base64 -e 'print encode_base64("username\0username\0password");'

reemplazando username y password por el que corresponda deberia retornar algo como esto:
anNhYmF0ZXIAanNhYmF0ZXIAanNhYmF0ZXI=

Luego haciendo un telnet a puerto smtp, en rojo lo que nosotros tecleamos.

$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.dominio.com ESMTP Postfix (Centos 4.2)
EHLO localhost
250-
mail.dominio.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN
250 8BITMIME
AUTH PLAIN anNhYmF0ZXIAanNhYmF0ZXIAanNhYmF0ZXI=
235 Authentication successful
QUIT
221 Bye
Connection closed by foreign host.

Con la respuesta 235 validando la autenticacionsobre el servidor