Probando el servidor POP3

Ante las repetidas preguntas recibidas acerca de cómo probar si el servidor POP3 implementado en prácticas funciona correctamente o no, suministramos la siguiente guía.

Probar con telnet

Desde cualquier máquina podemos usar telnet para conectar con nuestro servidor de prácticas. Para ello basta poner:
$ telnet maquina puerto
Deberíamos recibir la respuesta +OK de bienvenida, y a continuación podemos enviarle cualquier comando soportado por el RFC (e incluso probar a enviarle alguno no soportado). Lo que el servidor responde lo veremos en pantalla.

Con este método quizás podamos detectar comportamientos erróneos. Pero incluso si todo parece ir bien, la prueba definitiva debe hacerse con un cliente real, ya que es posible que se nos esté escapando algún detalle (por ejemplo, a lo mejor nuestro servidor no envía la línea con un punto para indicar el fin de un mensaje multilínea, pero usando telnet se nos puede escapar ese detalle. A un cliente real no se le escapará)

Usando un cliente real

popclient

Popclient es un sencillo programa de línea de comandos cuya función simplemente es conectarse a un servidor, autenticarse ante él, descargar todos los mensajes que hubiera, borrarlos del servidor y desconectarse. Todo esto lo hace sin intervención del usuario (es decir, no es interactivo). Por desgracia, no permite especificar el número de puerto del servidor, asumiento siempre el 110.

En sirio se encuentra una versión modificada de este programa, llamada popclient2, a la que se ha añadido la posibilidad de especificar el puerto del servidor. Se usa en la forma siguiente:

$ popclient2 -3 -c -k -u usuario -p clave -P puerto máquina > fichero
La opción -3 es para que use el protocolo POP3 (por defecto usaría el POP2). La opción -c es para que vuelque los mensajes a la salida estándar (que es redireccionada al fichero desado, sin esta opción los mensajes se dejarían en el buzón del usuario, que se podría consultar posteriromente con el programa mail o pine), y la opción -k (keep) es para que no borre los mensajes del servidor.

No obstante, popclient es una utilidad muy rudimentaria y antigua, y según nos ha reportado un alumno, no cumple estrictamente el RFC, por lo que se desaconseja usarla para probar el servidor.

fetchmail

fetchmail es la evolución de popclient, y es una aplicación más robusta y potente. Soporta muchos protocolos para descarga del correo, además del POP3. Este programa está instalado en orion, y para probar el sevidor de prácticas se debe usar en la forma siguiente:
$ fetchmail -p POP3 -k -u usuario -P puerto máquina
La opción -p POP3 especifica el protocolo, la opción -k indica que se deje una copia de los mensajes en el servidor (esto es, que no se borren al descargarlos). La clave nos la pedirá interactivamente. Los mensajes descargados irán a parar al buzón del usuario en orion, donde podrá consultarlos con el programa mail, o pine (no es posible especificar que deje los mensajes en un fichero).

Outlook Express

También podemos probar nuestro servidor desde una máquina Windows, creando una cuenta apropiada en el lector de correo Outlook Express.

Para ello, a través del menú Herramientas>Cuentas... accedemos a un diálogo para configurar las cuentas de correo. Pulsando el botón Agregar>Correo comenzará a pedirnos datos, y responderemos lo siguiente:

Una vez suministrada la información anterior, el asistente finaliza y nos ha creado la cuenta. Observar sin embargo que en ningún momento nos ha preguntado el puerto en que escucha el servidor, asumiendo que será el estándar 110. Tenemos que modificar esta suposición. Para ello: Una vez configurado, al pulsar sobre el botón Enviar y Recibir, Outlook se conectará a nuestro servidor, le solicitará la lista de mensajes, se descargará los nuevos y los borrará del servidor (a menos que le hayamos especificado que no lo haga). Si nuestro servidor ha contestado correctamente a las peticiones de Outlook, en la carpeta de entrada deberían aparecer los mensajes que han sido descargados.

Otros clientes de correo

Los pasos antes descritos para la configuración de Outlook Express se pueden extrapolar fácilmente a otros clientes de correo, como Thunderbird, Mozilla, The Bat!, etc.

Probando el cliente

Para probar el cliente basta conectar con un servidor POP3 en el que tengas una cuenta de correo (una búsqueda en internet te ofrece algunas posibilidades). También, puedes conectar con la máquina centauro y podrás acceder vía POP3 a los mensajes que tengas en tu buzón en dicha máquina. El nombre de usuario y clave a utilizar serían los mismos que usas para entrar en sesión.

Sirio también tiene un servidor POP3 que puedes usar de la misma forma, pero su implementación del comando TOP es defectuosa, ya que entiende que el número de líneas solicitado incluye la cabecera. Por tanto, si la cabecera tiene 10 líneas, un comando TOP que pida 12 mostrará la cabecera completa y 2 líneas del mensaje (en lugar de la cabecera completa y 12 líneas del mensaje, como especifica el RFC).

Cuestiones o sugerencias a Jose Luis Díaz