Correo tragalotodo

Comelotodo¿Cansado de tener n-mil cuentas de correo diferentes de las que descargar continuamente el correo y con una gestión bastante liosa? ¿Lees el correo desde varios sitios (trabajo, casa, etc…) y quieres que tu organización de correos y mensajes borrados se siga manteniendo? ¿Harto del spam? Esa era mi situación hasta hace unos dias, así que me decidí a implementar una solución de correo «tragalotodo». Nuestras armas: postfix, fetchmail, courier-imap, procmail, y spamassasin.

Lo primero que necesitamos es disponer de nuestro propio servidor (vale cualquier ordenador que tengamos en casa con linux y que esté siempre conectado a internet). Si quereis saber como montaros un servidor casero con linux, podeis leer este interesante manual que se desarrolló para un curso de LinuxAlbacete. Las instrucciones son para Debian, pero son facilmente adaptables a vuestra distribución favorita.

La idea es que nuestro servidor sea el encargado de recoger todo el correo de nuestras diferentes cuentas, filtrarlo, organizarlo y dejarnoslo listo para consultar desde cualquier lugar. Allá vamos:

EL SISTEMA DE CORREO (POSTFIX):

Primero montaremos un sistema de correo postfix que nos va a servir tanto para tener nuestro propio dominio de correo (por ejemplo con un dominio gratuito de no-ip) como para que fetchmail entrege el correo a los buzones locales en el servidor. Para ello:

$ apt-get install postfix

Editaremos el fichero de configuración principal y añadiremos nuestro dominio, en mi caso turegano.net.

[/etc/postfix/main.cf]
mydestination = turegano.net, localhost.localdomain, localhost.localdomain, localhost
home_mailbox = Maildir/
mailbox_size_limit = 0

Ahora debemos de crear la cuenta en la que queremos recibir todos los correos, en mi caso javier, y si no queremos que este usuario tenga acceso a ningún otro servicio como por ejemplo al ssh, le indicaremos como shell /bin/false.

$ adduser –shell /bin/false javier

EL CARTERO CURRANTE:

Fetchmail va a ser el encargado de conectarse periodicamente a nuestros distintos buzones de correo y entregar los correos a postfix para que los almacene:

$ apt-get install fetchmail

Ahora generaremos el fichero de configuración de fetchamil para nuestro usuario javier, en él le vamos a indicar que cuentas de correo queremos que vaya consultando, por ejemplo dos cuentas pop3 y una imap:

[/home/javier/.fetchmailrc]
set postmaster «javier»
set bouncemail
set no spambounce
set properties «»

poll pop3.escuela.org with proto POP3
user ‘alu5324’ there with password ‘empollon’ is ‘javier’ here
poll pop.mimail.com with proto POP3
user ‘jtmolon25’ there with password ‘molamigramola’ is javier here

poll imap.mitrabajo.net with proto IMAP
user ‘javier.turegano’ with password ‘muysecreta’ is javier here

Ahora programaremos cada cuanto tiempo queremos que se recoja el correo mediante crontab, aunque podriamos haberlo hecho con el propio fetchamil, yo prefiero hacerlo así. En este caso le indicamos que se recoja cada 10 minutos:

$ crontab -u javier -e
*/10 * * * * /usr/bin/fetchmail -s

NUESTRO BUZON AMARILLO:

Instalamos nuestro servidor de imap Courier:

$ apt-get install courier-imap-ssl

Ahora generaremos el buzón para nuestro usuario:

$ maildirmake /home/javier/Maildir

Ya tenemos forma de acceder a nuestros correos recibidos configurando nuestro MUA favorito, en mi caso Evolution indicandole la dirección de nuestro servidor IMAP y que queremos que las conexiones siempre sean seguras usando SSL.

NUESTROS SECRETARIOS PARTICULARES

Ya tenemos correo de todas nuestras cuentas en una sola, pero ¿y ahora? Lo último que queremos es tener todo el buzón de entrada lleno de correos de todas partes y sobretodo lleno de spam. Para evitar esto vamos a utilizar procmail y se ayudará de spamassasin para saber si el correo es o no spam:

$ apt-get install procmail spamassassin

En principio vamos a utilizar la configuración por defecto de spamassassin aunque buscaré un hueco para explicaros como tunearlo un poco.

Procmail se ejecutará cada vez que postfix reciba un correo tan solo tenemos que indicarle que queremos que haga con cada uno de ellos en el fichero .procmailrc en el directorio home del usuario:

[/home/javier/.procmailrc]
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/.Varios/

:0fw:spamassassin.lock
* < 256000 | /usr/bin/spamc :0: * ^X-Spam-Status: Yes .spam/ :0 * ^From.Pepito* .Amigos/ :0 * ^Subject.*Milista* .Milista/ :0 * ^To.*mitrabajo.net .Curro/ Con MAILDIR indicamos donde se encuentra nuestro buzón y en DEFAULT indicamos la carpeta donde queremos que vayan los correos que no caigan en ningún filtro. El siguiente bloque se encargará de ejecutar spamassassin sobre todos los correos que recibamos, este nos los devolverá con las cabeceras marcadas indicando si es Spam o no (X-Spam-Status: Yes). Así el siguiente filtro nos guardará en la carpeta de spam todos aquellos que hayan sido marcados. Mientras el resto de filtros nos clasificaran en distintas carpetas los correos según distintos criterios como por ejemplo de quien venga el correo, el asunto o a la cuenta a la que haya sido enviado el correo.

7 comentarios a “Correo tragalotodo”

[…] ¿Te animas?, pues sigue leyendo este mini tutorial que he preparado: CORREO TRAGALOTODO. […]

Maria Pilar Turégano Caetano ha escrito un comentario en 26/7/2007

Soy una Portuguesa que llebo el appelido Turégano, por madre
pues en Portugal es al revés.

Soy una Turégano de los de Cáceres, que somos muchissimos, por esso no entiendo como a tu blog le llamas el blog de los turéganos que solo eres tu.

TUREGANO.NET » Hartito del spam ha enviado un pingback en 18/4/2008

[…] Correo tragalotodo […]

TUREGANO.NET » Servidor transplantado y abonado ha enviado un pingback en 18/4/2008

[…] Correo tragalotodo […]

jose cely ha escrito un comentario en 2/10/2008

Muy buen tutorial. Directo al grano. Me evite contratar una secretaria 🙂 .
Me funciono sin problemas en Debian Lenny.

Javier ha escrito un comentario en 2/10/2008

Me alegro de que te sirvira y de que siga funcionando con versiones más actuales de Debian.

jose cely ha escrito un comentario en 4/9/2011

Me funciono sin problemas en Debian Squeeze.
Si acaso lo único que hay que añadir es activar spamassasin en /etc/default/spamassassin

Saludos