Si tenemos la oportunidad de instalar y configurar un servidor de correo POP3, si necesitamos probar una conexión, o si se debe verificar el correcto funcionamiento de una nueva cuenta de correo, es útil conocer los comandos POP3 para conectarse directamente desde la línea de comandos prescindiendo de un cliente de correo. En este breve artículo presento un ejemplo de conexión a un servidor de correo POP3 desde la línea de comandos utilizando netcat.

El protocolo POP3 (Post Office Protocol Version 3) permite que una workstation acceda dinámicamente a una cuenta de correo en un servidor para recuperar el correo entrante que mantiene el mismo. Generalmente se utiliza un cliente (por ejemplo Mozilla Thunderbird) o un servicio en la nube (por ejemplo GMail) para obtener el correo entrante desde un servidor POP3, aunque es posible conectarse directamente utilizando telnet o netcat, si se conocen los comandos necesarios.

En el artículo Enviar correo con netcat, telnet expliqué como enviar correo interactuando con un servidor SMTP utilizando netcat, en esta ocasión voy a demostrar cómo interactuar con un servidor POP3 para acceder al correo entrante, también utilizando netcat.

Netcat es la navaja suiza de todo administrador de red, en GNU/Linux se invoca con el comando nc. Esta herramienta permite abrir conexiones TCP, enviar paquetes UDP, escuchar en puertos TCP y UDP arbitrarios, escanear puertos, etc. Utilizando netcat, es posible establecer una conexión TCP con el servidor POP3 e interactuar con el mismo (mediante comandos) para listar, descargar y eliminar los mensajes de la bandeja de entrada de la casilla.

Para abrir la conexión deben conocerse la dirección y el puerto (generalmente 110) donde escucha el servidor POP, por ejemplo mail.pepe.org:110. Para abrir la conexión ejecutar:

nc -vv mail.pepe.org 110

La opción -vv se utiliza para que netcat muestre mayor cantidad de información acerca del estado de la conexión. Una vez establecida la conexión, es posible comenzar a interactuar con el servidor utilizando comandos POP.

Inicialmente se debe autenticar usuario y contraseña utilizando los comandos user y pass (respetando el orden). Si se ingresa una contraseña inválida es necesario comenzar de nuevo con el nombre de usuario:

$ nc -vv mail.pepe.org 110
Connection to mail.pepe.org 110 port [tcp/pop3] succeeded!
+OK Dovecot ready.
user postmaster@pepe.org
+OK
pass trustno1
+OK Logged in.
list
+OK 0 messages:
.

El comando list lista los mensajes en la bandeja de entrada. Cada mensaje se identifica con un ID. Luego es posible acceder al contenido de un mensaje mediante el comando retr:

list
+OK 1 messages:
1 1705
.
retr 1
+OK 1705 octets

[Luego del encabezado del mensaje...]

<html>
<head>
<style><!--
..hmmessage P
{
margin:0px=3B
padding:0px
}
body.hmmessage
{
font-size: 12pt=3B
font-family:Calibri
}
--></style></head>
<body class=3D'hmmessage'><div dir=3D'ltr'>Este es un mail de prueba.<div>S=
aludos!!</div>                                    </div></body>
</html>=

--_25c653e7-ec15-44a5-82ca-b8866a06a915_--
.

El comando retr muestra el contenido completo del mensaje, incluyendo los encabezados (los cuales he removido intencionalmente en el ejemplo).

Para eliminar mensajes utilizar el comando dele. Para finalizar la sesión y cerrar la conexión utilizar quit:

dele 1
+OK Marked to be deleted.
list
+OK 0 messages:
.
quit
+OK Logging out, messages deleted.

La información en detalle de los comandos POP se encuentra documentada en la RFC 1939.


Tal vez pueda interesarte


Compartí este artículo