Recabación de Correo Electrónico en Qmail

Una vez que Qmail (o cualquier otro MTA: Sendmail,smail,exim...) este configurado para recibir mensajes en buzones tipo Mailbox o Maildir , aún falta una parte muy importante de la configuración del sistema de Mensajes: Como recabar los mensajes de los buzones del "Host" ?

Mailers

Por lo general la recabación de mensajes se lleva acabo mediante un Mailer (MUA "Mail User Agent") (Eudora,Outlook Express,..), cada mailer es configurado para comunicarse con el "Host" que contiene los mensajes solicitados, una vez establecida la comunicación el "Mailer" debe enviar una contraseña al "Host" para identificarse como el usuario y así poder recabar los mensajes de su buzón.

Los dos protocolos que son utilizados para ese tipo de recabación son POP y IMAP , sin embargo, esta guia se limitará a la descripción de POP, no solo por el nivel de sencillez (comparado con IMAP) sino también por su amplio uso,además se asumirá que TODOS los buzones del sistema se encuentran en formato Maildir debido a la eficiencia que tiene comparado con Mailbox

Pasos Previos

Instalación de tcpserver

Para que es tcpserver ? En muy pocas palabras, tcpserver es un substituo de inetd o "Super Server" de Unix.

Que es lo que hace inetd ? inetd es un daemon general que da servicio a varios puertos TCP de un sistema,esto es, cuando se solicita la conexión hacia algún puerto del "Host", esta conexión hacia el servicio (puerto) es administrada por inetd , algunos servicios (puertos) que típicamente administra inetd son: POP, SMTP, SHELL, FINGER, entre otros.

En una gran cantidad de instalaciones para Qmail se recomienda utilizar tcpserver para administrar sus servicios (aunque también puede utilizarse inetd), por el momento nos concierne utilizar tcpserver para administrar el servicio POP , sin embargo, si piensa migrar de Sendmail a Qmail también se recomienda el uso de tcpserver para SMTP en vez de inetd . Por lo tanto la siguiente instalación asumirá que tcpserver esta disponible en el "Host".

tcpserver puede ser adquirido junto con otras utilerias de http://cr.yp.to/ucspi-tcp.html .

Modificación de /etc/services

Asegúrese que la siguiente linea se encuentre en el archivo /etc/services

:
   pop3 tcp/110  
Active (Vea NOTA al final del inciso) tcpserver para de servicio al protocolo POP
   tcpserver 0 pop3 /var/qmail/bin/qmail-popup <nombre_del_host "FQDN">
  /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &  

El comando anterior indica que debe ser activado tcpserver para dar servicio a pop3 , /var/qmail/bin/qmail-popup <nombre_del_host "FQDN"> es el servicio para pop3 donde <nombre_del_host> es aquel indicado en el archivo /etc/sysconfig/network nombre+dominio, /bin/checkpassword es la interfase que verificara los usuarios y contraseñas utilizadas para POP3, /var/qmail/bin/qmail-pop3d Maildir los buzones serán leídos de formato Maildir y garantizara que los mailers ("MUA") sean capaces de leer del formato Maildir, mientras que & indica que debe ser ejecutado como un proceso de fondo ("Background process").

NOTA: En este punto aún no puede ser activado tcpserver , ya que no existe la interfase /bin/checkpassword que será la que autorizará a los usuarios, pero es conveniente ir colocando este comando en un "script" dentro del directorio /etc/rc.d/init.d o bien dentro del archivo rc.local , para asegurarse que el servicio sea arrancado cada vez que inicie el sistema.

Interfase con /bin/checkpassword

checkpassword es una utileria que permite revisar contraseñas y usuarios que existen en el archivo /etc/passwd de un sistema Unix, esta utileria le facilita al servicio POP3 utilizar los usuarios y contraseñas que ya se encuentran definidos en el sistema y que también son utilizadas para login , cabe mencionar que el servicio POP de Qmail no esta restringido a este tipo de verificación, también es posible verificar usuarios mediante RADIUS, PAM, e inclusive archivos con usuarios y contraseñas diseñados especialmente, como se observará en la configuración de dominios y usuarios multiples en Qmail , por ahora basta con emplear la utileria checkpassword

La utileria checkpassword puede ser adquirida en http://cr.yp.to/checkpwd.html

Corroborar Instalación de checkpassword

Corrobore que haya sido instalada la utileria checkpassword en el directorio /bin , una vez hecho esto puede activar el comando que dejo pendiente en el paso anterior:

tcpserver 0 pop3 /var/qmail/bin/qmail-popup <nombre_del_host "FQDN">
  /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &  
Prueba Manual sobre POP

Realice una prueba manual sobre el servicio POP ejecute:

    /var/qmail/bin/qmail-popup host /bin/checkpassword pwd 

El comando anterior intentará conectarse vía POP al "Host" local ( host ) utilizando la utileria checkpassword para revisar contraseñas ( pwd ). Debe aparecer lo siguiente:

 +OK <...@host>  

A partir de esta linea intente conectarse mediante un usuario y contraseña definidas en el archivo /etc/passwd , osea las mismas utilizadas para realizar login al sistema.

user jaime
+OK
pass admin

Los comandos anteriores intentan conectarse como el usuario jaime, si la contraseña coincide con aquella definida en /etc/passwd aparecerá: /home/jaime , donde /home/jaime es el archivo raíz "Home Directory" del usuario jaime , si no fue correcto aparecerá : -ERR authorization failed

Modificación de Variables Ambientales ("Environment Variables")

Si utiliza este tipo de configuración también será necesario modificar algunas variables ambientales, para que los "Mailers" sean capaces de identificar la ubicación de los buzones; debido a que esta configuración asume que Qmail será el único MTA en el "Host", este tema es cubierto en migrar de Sendamil a Qmail

Ha finalizado la instalación básica del servicio POP.

Más de un Dominio y Múltiples Usuarios

Las ultimas pruebas que realizó manualmente es la misma secuencia de eventos que lleva acabo cualquier "Mailer" ("MUA") (Eudora,Outlook,...) que utilice el protocolo POP. Al igual que la creación de buzones en una configuración básica, esta configuración de servicio POP, asumió lo siguiente:

De la misma manera en que Qmail puede ser configurado para recibir correo de múltiples dominios y miles de usuarios, también es posible configurarlo para ofrecer el servicio POP para miles de usuarios y un sin numero de dominios.

Este es el tema de Dominios y Usuarios Múltiples en Qmail