…esto no es un subtítulo…
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.
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:
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
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.
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:
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/