SGCG

…esto no es un subtítulo…

Ir a: contenido categorías calendario archivo suscripción

Volver arriba

Correo electrónico con Mutt, fetchmail, procmail y msmtp

2009-08-09

El agente de correo electrónico Mutt es, en mi opinión, el mejor programa que existe en su categoría. Tiene un eslogan muy contundente: Todos los clientes de correo apestan. Éste, simplemente, apesta menos (All mail clients suck. This one just sucks less). Como sucede con todas las herramientas potentes, Mutt no vale para todo el mundo, pero quienes aprenden a usarlo suelen estar de acuerdo en lo mucho que merece la pena el esfuerzo.

Aunque ha ido ganando cierta funcionalidad extraordinaria con el paso del tiempo, Mutt está pensado para hacer una cosa y hacerla bien: gestionar el correo electrónico. Ésta es la vieja y probada filosofía de *nix tan frecuentemente olvidada en los modernos entornos de escritorio. Las demás labores, incluyendo la composición y edición de mensajes, así como su cifrado, envío y recepción, dependen de otras herramientas externas. Esto significa que el usuario puede usar sus programas favoritos para hacer funciones específicas. Por ejemplo, el usuario puede aprovechar su experiencia con su editor preferido, como puede ser Vim, GNU nano, Kate o Leafpad, por citar unos pocos. Ignorando algunas excepciones como los gestores de correo electrónico para el espectacular GNU Emacs, los editores de texto de los programas de correo electrónico suelen ser muy malos, especialmente los de las interfaces de correo web, así que la posibilidad de usar un editor de texto de verdad es una bendición.

Planteamiento

Vamos a ver cómo configurar de forma básica Mutt y unos cuantos programas auxiliares para poder enviar y recibir correo electrónico a través de un proveedor externo. Nuestros datos son los siguientes:

Cuenta:
minombre@example.com
Servidor SMTP (para enviar correo):
smtp.example.com
Servidor POP3 (para descargar correo):
pop3.example.com
Nombre de usuario:
minombre
Contraseña:
secreto

Para enviar correo

Vamos a usar msmtp para conectarnos con nuestro servidor SMTP. El fichero de configuración de msmtp ha de encontrarse en $HOME/.msmtprc y su contenido es autoexplicativo:

# Guardamos un registro de actividades en # $HOME/.msmtp.log defaults logfile ~/.msmtp.log # Datos de la cuenta minombre@example.com account minombre@example.com host smtp.example.com from minombre@example.com auth on user minombre password secreto

Para descargar correo

Usaremos fetchmail para descargar los mensajes de nuestro servidor POP3. El fichero de configuración de fetchmail es $HOME/.fetchmailrc y su contenido puede ser como el que sigue:

poll pop3.example.com with proto POP3 and options uidl user 'minombre' there with password 'secreto' is 'minombrelocal' here and wants mda "/usr/bin/procmail -d %T" options keep

La opción uidl sirve para llevar un registro de los mensajes descargados; como consecuencia de activar esta opción, cada mensaje será descargado una única vez. Hemos supuesto que el nombre de usuario local en nuestra máquina es minombrelocal. Para la entrega local del correo usamos procmail, que suponemos que está en la ruta /usr/bin/procmail. La última opción, keep, sirve para no borrar del servidor los mensajes descargados.

Sobre procmail, hay que decir que se trata de una herramienta extremadamente potente que sirve para la entrega local del correo electrónico. Permite aplicar acciones diferentes en función del contenido de los mensajes; por ejemplo, es posible hacer que guarde en buzones diferentes los mensajes enviados por distintas personas. También es posible hacer pasar los mensajes por aplicaciones externas; mucha gente usa procmail en combinación con un filtro de correo basura como SpamAssassin. Cualquier operación de clasificación, filtrado y manipulación de mensajes puede ser realizada cómodamente con un agente de entrega flexible como procmail. El fichero de configuración ha de estar en la ruta $HOME/.procmailrc. Como en este ejemplo sencillo no vamos a aplicar filtros, no necesitamos configurar procmail.

Configurando el agente de correo electrónico

Ahora tenemos que configurar Mutt. El fichero de configuración está en la ruta $HOME/.muttrc. Puede ser como el siguiente:

# Queremos ordenar los mensajes por # hilos de conversación set sort=threads # Supongamos que nuestro editor de texto # favorito es GNU nano set editor="nano" # Almacenaremos los mensajes enviados en # $HOME/sent set record="$HOME/sent" # Vamos a usar msmtp para el envío de # correo set sendmail="msmtp" # Nuestra cuenta por defecto set from="Mi nombre <minombre@example.com>" # Nuestro nombre set realname="Mi nombre" # Con esta opción, le pasaremos a msmtp # la opción de usar la cuenta indicada # en la línea del remitente de nuestros # mensajes set use_envelope_from # Esto sirve para responder a los # mensajes con la cuenta a la que # van dirigidos. set reverse_name=yes

Mutt tiene muchísimas opciones. Me gusta poner la interfaz de colorines:

# Colors color normal white black color attachment brightyellow black color hdrdefault cyan black color indicator black cyan color markers brightred black color quoted green black color signature cyan black color status brightgreen blue color tilde blue black color tree red black color header brightgreen black ^From: color header brightcyan black ^To: color header brightcyan black ^Reply-To: color header brightcyan black ^Cc: color header brightblue black ^Subject:

Más allá

Nos dejamos muchas cosas. Por ejemplo, cómo controlar la asociación de tipos de fichero con $HOME/.mailcap:

# Algunas entradas que podría tener # nuestro mailcap image/*; gpicview %s video/*; mplayer %s application/pdf; xpdf %s application/vnd.oasis.opendocument*; soffice %s

También podríamos configurar Mutt para usar GnuPG como sistema para el tratamiento criptográfico de nuestros mensajes.

Combinando macros y programas externos, podemos lograr que Mutt haga casi cualquier cosa.


Categorías: Informática

Permalink: https://sgcg.es/articulos/2009/08/09/correo-electronico-con-mutt-fetchmail-procmail-y-msmtp/