Mutt
Esta guía muestra cómo comenzar a utilizar el potente cliente de correo de línea de órdenes mutt.
neomutt is a fork of mutt which is very similar, to which most of this article also applies.
Introducción
Aunque Mutt se diseñó originalmente para leer el correo del buzón local en formato mbox (es decir /var/spool/mail/), actualmente ofrece soporte completo para carpetas alamacenadas en formato Maildir, recuperación remota de mensajes desde un servidor POP3 y gestión completa de cuentas IMAP. Para una descripción completa de lo que puede hacer Mutt, por favor, lea el manual de Mutt y el sitio web de Mutt en http://www.mutt.org/.
Instalación
Se puede comenzar la aventura con Mutt simplemente haciendo emerge. Desgraciadamente Mutt tiene muchas opciones las cuales activan o desactivan muchas funcionalidades de este cliente de correo. Echaremos un vistazo a los ajustes USE más importantes que se suelen tener en un uso normal de Mutt. Por favor, observe que la mayoría de ellos no harán ningún daño a su Mutt pero puede que hagan muchas más cosas que las que un usuario experimentado de Mutt suele hacer.
Emerge
root #
emerge --ask --verbose mail-client/mutt
USE flags
USE flags for mail-client/mutt A small but very powerful text-based mail client
+hcache
|
Enable header cache, one database backend needs to be enabled |
+imap
|
Add support for IMAP (Internet Mail Application Protocol) |
+lmdb
|
Enable dev-db/lmdb database backend for header caching |
+sasl
|
Add support for the Simple Authentication and Security Layer |
+smtp
|
Enable support for direct SMTP delivery |
+ssl
|
Add support for SSL/TLS connections (Secure Socket Layer / Transport Layer Security) |
autocrypt
|
Enable autocrypt.org support |
berkdb
|
Enable sys-libs/db database backend for header caching |
debug
|
Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Backtraces |
doc
|
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally |
gdbm
|
Enable sys-libs/gdbm database backend for header caching |
gnutls
|
Prefer net-libs/gnutls as SSL/TLS provider (ineffective with USE=-ssl) |
gpgme
|
Build gpgme backend to support S/MIME, PGP/MIME and traditional/inline PGP |
gsasl
|
Use GNU SASL via virtual/gsasl instead of Cyrus SASL (requires USE=sasl) |
idn
|
Enable support for Internationalized Domain Names |
kerberos
|
Add kerberos support |
mbox
|
Add support for mbox (/var/spool/mail) style mail spools |
nls
|
Add Native Language Support (using gettext - GNU locale utilities) |
pgp-classic
|
Build classic_pgp backend to support PGP/MIME and traditional/inline PGP |
pop
|
Enable support for POP3 mailboxes |
prefix
|
Defines if a Gentoo Prefix offset installation is used |
qdbm
|
Add support for the qdbm (Quick Database Manager) library |
selinux
|
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur |
slang
|
Add support for the slang text display library (it's like ncurses, but different) |
smime-classic
|
Build classic_smime backend to support S/MIME |
tokyocabinet
|
Enable dev-db/tokyocabinet database backend for header caching |
vanilla
|
Do not add extra patches which change default behaviour; DO NOT USE THIS ON A GLOBAL SCALE as the severity of the meaning changes drastically |
IMAP
En primer lugar, para los novatos, el ajuste USE imap
es probablemente el más importante. Habilitarlo no romperá nada de modo que si no se está seguro de qué tipo de cuenta se va a utilizar con Mutt, simplemente habilítelo. La mayoría de los proveedores de correo electrónico incluso los gratuitos como GMail utilizan IMAP actualmente ya que es la forma más conveniente de almacenar el correo electrónico que se accede desde múltiples clientes al mismo tiempo o desde diferentes localizaciones. Debido a que IMAP mantiene todos los mensajes en el servidor, Mutt únicamente descarga los mensajes que se quieren visualizar
Header cache backends
A menudo se necesita saltar entre mensajes más de una vez lo que implicaría descargar el mismo mensaje una y otra vez. Ya que esto es sencillamente un desperdicio de recursos, Mutt utilizar lo que llamamos una caché de cabeceras (hcache) para mantener en ella las partes más importantes que se necesitan de los mensajes. Esta hcache está respaldada por una biblioteca de base de datos de la cual existen cuatro sabores: gdbm
, berkdb
, qdbm
ytokyocabinet
. Si no se tiene ninguna preferencia, se puede elegir gdbm o berkdb. Lo más seguro es que ambas ya estén instaladas en el sistema. Si se habilita más de un ajuste USE para la base de datos de la hcache dejaremos que sea Mutt el que elija la que más le guste. Siempre se utiliza como una de ellas como mucho.
Sending mail
Si bien IMAP es importante para leer los mensajes de correo electrónico, el envío de los mismos requiere un servidor de correo. Mutt puede hablar con un servidor de correo electrónico que se encuentre en el sistema local, sin embargo, en la mayoría de las ocasiones éste no es el caso o simplemente no es una buena opción, por ejemplo, los usuarios de ordenadores portátiles que viajan a menudo. Mutt incorpora soporte SMTP que se activa con el ajuste USE smtp
. Habilitarlo sin estar seguro no conlleva ningún riesgo. El soporte SMTP de Mutt nos permite enviar mensajes al servidor de correo electrónico de nuestra elección, normalmente el que nos ha proporcionado nuestro proveedor de servicios de correo electrónico.
Secure protocols
Normalmente hoy en día tanto IMAP como SMTP se montan sobre canales cifrados, de ahí que si se ha habilitando alguno de ellos es prudente también habilitar alguno de los ajustes USE ssl
o gnutls
. Ambos añaden las variantes seguras (imaps y smtps) a la lista de protocolos soportados por Mutt utilizando una implementación bien de OpenSSL o de GNUTLS. Si no se tiene una especial preferencia por alguno de ellos, habilite ssl
. Probablemente esto ya esté definido en sus ajutes USE globales. Si se va a autenticar a si mismo cuando envíe un mensaje de correo electrónico, asegúrese también de incluir sasl
en sus ajustes USE ya que es un prerequisito para ello.
Encryption
Even with secure IMAPS and SMTPS protocols, it is best practice to sign and/or encrypt email messages. Mutt supports traditional OpenPGP and S/MIME. Both of these are supported using the gpgme wrapper. The easiest way to setup support for signed and encrypted messages is using the gpgme
USE flag. Documentation and experiences in this area can be confusing to say the least. When enabling gpgme
USE flag, ensure the backend has been properly setup in the configuration (see below).
Configuración
Una vez se ha hecho emerge de Mutt con los ajustes USE elegidos, el único paso necesario es crear un fichero .muttrc en el directorio de inicio. Se pueden encontrar muchos ficheros muttrc en la Web y en la documentación de Mutt. En /usr/share/doc/mutt-<version>/samples se pueden encontrar algunos ejemplos que contiene la distribución oficial. Aquí se va a mostrar un fichero .muttrc mínimo para una cuenta basada en IMAP con envío de correo SMTP.
Files
.muttrc
# Conjunto de caracteres que utilizamos para los envíos
set send_charset="utf-8"
# Si no hay conjuntos de caracteres en los mensajes de entrada, se trata probablemente de Windows
set assumed_charset="iso-8859-1"
# Asegurarse de que Vim sabe que Mutt es un cliente de correo electrónico y que componemos los mensajes con UTF-8
set editor="vim -c 'set syntax=mail ft=mail enc=utf-8'"
# Simplemente desplazar una línea en lugar de una página completa
set menu_scroll=yes
# Queremos ver algunos tipos MIME en línea. Mirar debajo de este fichero para una explicación
auto_view application/msword
auto_view application/pdf
# Hacer que los patrones de búsqueda mirenn en To, Cc y Subject
set simple_search="~f %s | ~C %s | ~s %s"
# Preferencias de la visión por hilos. Ordenar por hilos
set sort=threads
set strict_threads=yes
# Mostrar la puntuación de spam (únicamente para los mensajes marcados por SpamAssassin) cuando se lea un mensaje
spam "X-Spam-Score: ([0-9\\.]+).*" "SA: %1"
set pager_format = " %C - %[%H:%M] %.20v, %s%* %?H? [%H] ?"
# No mostrar todas las cabeceras, solo algunas
ignore *
unignore From To Cc Bcc Date Subject
# Y en este orden
unhdr_order *
hdr_order From: To: Cc: Bcc: Date: Subject:
# Iluminar la información con colores, para más ejemplos de coloreados consultar:
# http://aperiodic.net/phil/configs/mutt/colors
color normal white black
color hdrdefault green default
color quoted green default
color quoted1 yellow default
color quoted2 red default
color signature cyan default
color indicator brightyellow red
color error brightred default
color status brightwhite blue
color tree brightmagenta black
color tilde blue default
color attachment brightyellow default
color markers brightred default
color message white black
color search brightwhite magenta
color bold brightyellow default
# Si no nos gusta la barra negra de progreso en el pie de la pantalla,
# comentar la siguiente línea
color progress white black
# Ajustes de la identidad
set realname = "Andrew Dalziel"
set from = "andy@mail.server"
alternates "andrew@mail.server|andrew.dalziel@mail.server"
# Este fichero debe existir y contiene la firma, comentar si
# no se quiere incluir firma
set signature = ~/.signature
# Alias (parecido a una libreta de direcciones)
source ~/.aliases
# Ajustes de conexión IMAP
set mail_check=60
set imap_keepalive=300
# Ajustes de cuenta IMAP
set folder=imaps://andy@imap.mail.server/
set spoolfile=imaps://andy@imap.mail.server/
set record=imaps://andy@imap.mail.server/Sent
set postponed=imaps://andy@imap.mail.server/Drafts
# Utilizar headercache para IMAP (¡Asegurarse de que es un directorio para mejorar el rendimiento!)
set header_cache=/var/tmp/.mutt
# Buzones que queremos monitorizar en busca de nuevos mensajes
mailboxes "="
mailboxes "=Lists"
# Listas de correo electrónico en las que estamos (¡Son expresiones regulares!)
subscribe "gentoo-.*@gentoo\\.org"
# Configuración del correo SMTP (para el envío de mensajes)
set smtp_url=smtp://mail.server/
Es una buena práctica revisar todos los ajustes del ejemplo de arriba. Existen muchos más y puede que algunas preferencias no concuerden con la suyas. Recuerde esto cuando sienta que Mutt no funciona como quisiera al modificar alguna de estos ajustes.
El ejemplo .muttrc de arriba pone en marcha una cuenta IMAP, utiliza un servidor para enviar el correo, almacena su caché en /var/tmp/.mutt, lee los alias de direcciones conocidos (considérelo como una libreta de direcciones) desde ~/.aliases y añade la firma presente en ~/.signature cuando se compone un nuevo mensaje de correo electrónico. Puede ser necesario en algún servidor IMAP cambiar los directorios spool, record y postponed, ya que las carpetas Sent y Drafts pueden estar dentro de una carpeta llamada INBOX. Intentar esto con Mutt es la forma más sencilla de averiguarlo.
Una vez se ha configurado .muttrc se puede lanzar Mutt simplemente corriendo mutt. Si se especificó la url de un servidor IMAP adecuado, Mutt solicitará la contraseña y a continuación cargará todos los mensajes. Se debe tener en cuenta que la primera vez que se entre en el buźon puede llevar un tiempo ya que seguramente habrá algunos mensajes y la caché de cabeceras de Mutt todavía está vacía. Si todo va bien, se encontrará con su buzón IMAP y estará preparado para continuar.
La navegación es intuitiva así como la lectura de mensajes simplemente pulsando la tecla Intro o la tecla Espacio. Mutt es similar a Vim en el sentido en que utiliza pulsaciones de teclas para realizar la mayoría de las acciones. Lo mejor es leer el manual de Mutt en la Web para familiarizarse con todas las funciones existentes (o pulsar ? en Mutt) y averiguar a qué tecla está asociadas o incluso mejor, a qué tecla le gustaría asociarlas. Algunas teclas especiales son m (de mensaje) para empezar a componer un mensajes nuevo, q para salir (quit), r para responder, s para guardar (save) y p para imprimir (print).
.mailcap
Una de las características que posee Mutt y que todavía no está presente en la mayoría de los clientes de correo actuales es la capacidad para mostrar los archivos adjuntos en línea a través de algún tipo de visor. La directiva auto_view en el fichero .muttrc le indica a Mutt qué adjuntos (basándose en su tipo MIME) se deben mostrar en línea. Para averiguar cómo hacer esto, Mutt utiliza ficheros mailcap en los que busca cómo mostrar un determinado tipo MIME. Normalmente el fichero mailcap que se define para todo el sistema no es suficiente, de modo que es mejor crear un fichero ~/.mailcap para poner en él los elementos para copiousoutput
que Mutt puede mostrar en línea.
En el fichero ejemplo .muttrc de arriba, se habilita auto_view
para los fichero de tipo application/msword
y application/pdf
. Estos dos muestran la extrema utilidad de esta capacidad ya que implica que las notas enviadas como un fichero doc ahora se muestran perfectamente legibles sin tener que guardar el adjunto y abrirlo en LibreOffice. En lugar de esto, el texto simplemente se muestra en el lector de mensajes, esto es así si se ha definido la entrada adecuada en el fichero ~/.mailcap.
application/msword; antiword '%s'; copiousoutput; description=Word Document;
nametemplate=%s.doc
application/pdf; pdftotext '%s' -; copiousoutput; description=PDF Document;
nametemplate=%s.pdf
El ejemplo de .mailcap de arriba le indica a Mutt qué hacer para "mostrar" los ficheros msword
y pdf
. Para el primero debe lanzar un programa llamado antiword (emerge app-text/antiword
), para el segundo el programa pdftotext (emerge app-text/poppler). Puede intentar complicarse un poco con esto y, por ejemplo, mostrar HTML renderizado (dele una oportunidad a app-text/vilistextum), renderice vcards o muestre una representación en ASCII de las imágenes adjuntas. Todo lo que se necesita es definir en su .mailcap como se lanza el programa e indicarle a Mutt que intente mostrarlo en línea utilizando la directiva auto_view
.
Conclusiones
Mutt es un cliente de correo electrónico muy versátil. Si le gusta el concepto, Mutt se puede alterar para que se comporte prácticamente de cualquier manera a través de su configuración. Busque en la Web para encontrar cómo otros lo "hicieron" o busque alguno de los muchos parches que existen para que Mutt haga todavía más. Gentoo aplica un para de parches muy populares a Mutt, asegúrese de comprobar mutt -v si quiere algo más para asegurarse de que no está todavía no está a su disposición. Aunque aprender a utilizar Mutt no es necesariamente fácil, una vez esté en sus manos puede hacer que su experiencia con el correo electrónico sea más rápida y eficiente que con otros clientes. La búsqueda, por ejemplo, es muy potente si sabe cómo activar los ajustes apropiados y sabe qué expresiones regulares reducen los resultados de su búsqueda. ¡Disfrute haciendo Mutting!
See also
- Aerc — a lightweight, command-line mail user agent (MUA) written in the Go programming language.
- Neomutt — command-line mail client forked from mutt.
- Thunderbird — Mozilla's solution to the e-mail client.
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Fabian Groffen (grobian)
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.