Mutt es un cliente de correo que funciona en consola y ofrece un amplio abanico de posibilidades aunque puede que inicialmente nos resulte un poco complicado acostumbrarnos a él. La potencia de mutt está en su amplia configurabilidad, nos va a permitir leer el correo de nuestro sistema (/var/spool/mail/usuario) o incluso de otros sistemas remotos usando IMAP/POP3.
Lo ideal es tener montado un sistema de descarga/envio de correo combinando getmail, procmail para el filtrado y exim para el envio. Opcionalmente si se quiere acceder al correo desde PCs conectados en red se puede tener servicio de IMAP con dovecot. De esta forma bajariamos el correo con getmail y se guardaría en nuestros buzones del sistema y podriamos consultarlo con mutt desde una consola (por ejemplo conectandonos remotamente por SSH). Aunque este sea el ideal, mutt también ofrece la posibilidad de acceder al correo utilizando directamente IMAP o POP3 como ya he comentado.
Suele ser útil tener un cliente de consola configurado para poder acceder a nuestro correo cuando hay una urgencia o en remoto utilizando el servicio SSH. También podriamos decantarnos por el cliente de correo pine, es más intuitivo que mutt pero menos potente (además de no ser 100% libre).
Cuando arrancamos mutt, lo primero que hará será cargar los archivos de configuración. Primero cargará el del sistema “/etc/Muttrc” y a continuación el del usuario que lo este ejecutando “~/.mutt/muttrc”, este último será el que modifiquemos y añadiremos las siguientes opciones que podremos adaptar a nuestras necesidades (las he comentado todas):
# Reset de variables y hooks reset all unhook * ######## Envio y recepción de correo # Nombre del dominio por defecto set hostname = marblestation.com # Mi dirección from por defecto my_hdr From: Sergio Blanco Cuaresma <mail@direccion.com> # Comprobación de los emails activada, cada 60 segundos set check_new set mail_check=60 set beep_new # Donde se encuentran los buzones (aparte del principal) set folder=~/mail # Mailboxes (listar pulsando 'y') mailboxes = ~/mail/gpl mailboxes = ~/mail/gplurv mailboxes = ~/mail/gplurv-socis mailboxes = ~/mail/ubuntu-es mailboxes = ~/mail/mono-hispano mailboxes = ~/mail/spam mailboxes = ~/mail/spam-unsure # Los mensajes pospuestos se guardan en... set postponed="=postponed" # Guardar una copia de los mensajes enviados en... set copy= yes set record="=sent-mail" # Enviar correo con el comando set sendmail = "/usr/sbin/sendmail" # Definimos el lugar POP3 de donde queremos descargar los emails. # Para realizar la descarga pulsamos 'G' #set pop_host = "pop3.telefonica.net" #set pop_user = "usuario" #set pop_pass = "secret" #set pop_delete = no # También podemos acceder a nuestra cuenta POP al estilo IMAP (pulsar 'y' para # ver listado de mailboxes) #mailboxes = "pop://usuario@pop3.telefonica.net" # Definimos un servidor IMAP para acceder a su buzón principal. (pulsar 'y' para # ver listado de mailboxes) #mailboxes = "imaps://usuario@servidor.com/inbox" #mailboxes = "imaps://usuario@servidor.com/gplurv" #mailboxes = "imaps://usuario@servidor.com/ubuntu-es" #mailboxes = "imaps://usuario@servidor.com/mono-hispano" #set imap_pass = "secret" # Indicamos un lugar donde guardar los certificados. set certificate_file=~/.mutt/certificates ######## ######## Entorno # No cerrar la vista de threads que contienen mails no leidos unset collapse_unread # No saltar al siguiente email cuando llegamos al final del actual set pager_stop # Mostrar el listado de mails en la parte superior cuando estamos visualizando # el contenido de un mail concreto. Usar solo 6 lineas. set pager_index_lines=6 # No poner un '+' en las lineas cortadas (wrapped), asi podremos copiar correctamente # URLs por ejemplo. set markers=no # Avanzar por el texto del mail actual con up/down y pasar al siguiente o # anterior mail con left/right bind pager <up> previous-line bind pager <down> next-line bind pager <left> previous-entry bind pager <right> next-entry # Macros: usar 'y' para ir al listado de buzones desde el indice o el browser macro index "y" "c?t" macro browser "y" "tt" # Marcar todos los mensajes como leidos pulsando M macro index M "T.*\n;WN" "Mark all messages as read" # Mostrar solo algunas cabeceras ignore * unignore From To Cc Subject Date Reply-To Organization X-Mailer User-Agent # Orden de las cabeceras hdr_order From: Date: To: Cc: Subject: # Borrar automáticamente los mails set delete=no # No mover los mensajes leidos al salir set move=no # Citar los mensajes en las respuestas set include=yes # No marcar los mensajes nuevos no leidos en otros accesos como viejos set nomark_old # Si un mail tiene la cabecera Reply-To, utilizarla si vamos a responder. No # nos preguntará. set reply_to=yes # Ordenar primero por threads y después por fecha de llegada set sort=threads set sort_aux=date-received # La vista de threads no se debe construir estrictamente por las cabeceras # de los mails set nostrict_threads # Añadir "--" a mi firma e incluirla (la tenemos definida en ~/.firma) set sig_dashes set signature="~/.firma" # Permitir escribir caracteres de 8 bits i usar charset iso set allow_8bit set charset=iso-8859-1 # Formatos set attribution = "On %d, %n (%a) wrote:" set forward_format = "Fwd: [%a: %s]" #set quote_regexp = "^ *[a-zA-Z]*[]>|}()%:=-][]>|}():=-]*" # More Sven set status_format = "[%r] %h %f (%s) [%M/%m] [N=%n,*=%t,post=%p,new=%b]" #set index_format = "%4C %Z %{%b %d} %-15.15F (%4l) %s" set date_format="%d/%m/%y %H:%M %Z" # Buzones correspondientes a listas de correo, si pulsamos L sobre un mail # cogerá como destinatario la lista y no el origen del mensaje. lists ubuntu-es gplurv mono-hispano # Configuración especifica de un buzón que no esta definido como lista (identico) folder-hook gpl my_hdr From: GPL Tarragona <tralara@tralari.net> # Configuración especifica de las listas folder-hook ubuntu-es my_hdr From: Sergio Blanco Cuaresma <direccion@listas.com> folder-hook gplurv my_hdr From: Sergio Blanco Cuaresma <direccion@listas.com> folder-hook mono-hispano my_hdr From: Sergio Blanco Cuaresma <direccion@listas.com> # Fichero donde se guardará la libreta de direcciones set alias_file=~/.mutt/aliases # Preguntar antes de imprimir set print=ask-yes # Preguntar antes de borrar set delete=ask-yes # Definiciones para el uso de GnuPG source ~/.mutt/gpg ######## Configuración de GnuPG # Desencriptar al hacer un forward set forward_decrypt # Mostrar solo la llave principal y no las subclaves set pgp_ignore_subkeys # Firmar automaticamente los mails salientes set pgp_autosign # No encriptar automáticamente unset pgp_autoencrypt # Si un mail estaba encriptado, la respuesta será encriptada también # Si un mail estaba firmado, la respuesta será firmada también set pgp_replyencrypt set pgp_replysign set pgp_replysignencrypted # Comprobar firmas set pgp_verify_sig=yes # No olvidar el passphrase durante 7200 segundos (2 horas) set pgp_timeout=7200 # No mostrar ids de clave de 64 bits #unset pgp_long_ids # Mostrar las llaves no usables en el menu set pgp_show_unusable # Ordenar claves por confianza set pgp_sort_keys = trust # Firmar con la clave... set pgp_sign_as=0x0ED2CF9D ## Fin GnuPG
En nuestro directorio ~/.mutt/ añadiremos el anterio fichero “muttrc” y:
mkdir -p ~/.mutt/ cd ~/.mutt/ touch certificates touch aliases cp /usr/share/doc/mutt/examples/gpg.rc.gz . gzip -d gpg.rc.gz mv gpg.rc gpg
Ahora ya podremos ejecutar mutt para acceder a nuestro buzón principal (mutt -y para acceder al listado de buzones). Una vez dentro podremos pulsar:
‘enter’ para visualizar un mail.
‘r’ para responder.
‘m’ para escribir un nuevo mail.
‘y’ (alternativa: ‘c’ y ‘tab’) para acceder al listado de buzones.
‘tab’ para ir al siguiente mensaje nuevo.
‘q’ para salir de la ventana actual, en caso de estar en un buzón sale del programa.
Con esto ya podemos empezar a experimentar 🙂
Muy práctico, gracias.