Inicio arrow Solo Linux arrow Cómo instalar Mutt con IMAP
21 de noviembre de 2008
 
 
Cómo instalar Mutt con IMAP PDF Imprimir E-mail
Valoración del Usuario: / 2
PobreMejor 

En esta guía voy a explicar un poco el uso del cliente de correo mutt con el protocolo IMAP.
mutt es un cliente de correo que soporta muchos formatos de almacenamiento de emails como mbox, Maildir, o MH. Adems de esto, mutt es capaz de conectarse a servidores POP3 e IMAP4. En esta guía tratar el soporte de IMAP en mutt.
Lo primero de todo es instalar mutt. Dado que es posible que tengais diferentes distribuciones intentaré tratar las más posible:

Gentoo Linux

[shell]# emerge mutt
Debian GNU/Linux
[shell]# apt-get install mutt
RedHat
Bajamos de http://rpmfind.net el paquete y hacemos:
[shell]# rpm -ivh mutt-1.4-4.i386.rpm
FreeBSD
[shell]# cd /usr/ports/mail/mutt
[shell]# make install

Una vez hemos instalado mutt llega la parte de personalización de mutt. Aquí haremos que mutt maneje dos cuentas IMAP y sea capaz de trabajar con GnuPG.

Lo primero es setear la variable MAIL. En bash haremos lo siguiente:

[shell]$ echo "export MAIL=imap://usuario@host1/" >> ~/.bash_profile
[shell]$ source ~/.bash_profile

Ahora vamos a crear el directorio ~/.mutt en el que guardaremos los alias, el mailcap y los certificados.

[shell]$ mkdir ~/.mutt

Una vez tenemos eso crearemos el ~/.muttrc. Este fichero (en mi caso) es algo grande, as que iré poniéndolo por partes para poder ir explicándolo. Abrimos nuestro editor favorito (vim en mi caso) y creamos el archivo en cuestinón. Una vez tenemos eso crearemos el ~/.muttrc. Este fichero (en mi caso) es algo grande, así que iré poniéndolo por partes para poder ir explicándolo. Abrimos nuestro editor favorito (vim en mi caso) y creamos el archivo en cuestión:

[shell]$ vim ~/.muttrc

Lo primero será poner las opciones generales. Solo añadir que el delimitador de comentarios es #.

##
# General
##
#
set hostname = tu-host.org
set from = "Fernando J. Pereda <yo@tu-host.org>"

No hay mucho que comentar ahí.... realmente el from no es muy importante si pretendemos utilizar más de una cuenta IMAP. Ahora revisaremos cosas como la firma, la libreta de direcciones y el editor a usar en los mails:

##
# Firma
##
#
set signature = ~/.mutt/signature

##
# Libreta de direcciones
##
#
set alias_file = ~/.mutt/aliases
source ~/.mutt/aliases

##
# Editor
##
#
set editor = vim

Aquí hay alguna cosa más que comentar. El fichero ~/.mutt/signature contiene simple texto que será añadido al final de nuestros mensajes. El fichero ~/.mutt/aliases contiene nuestra libreta de direcciones, es posible editarlas a mano, pero mutt nos permitirá ir añadiendolas desde su interfaz. Ahora ajustaremos un fichero para que mutt guarde allí los certificados SSL de los servidores IMAP (solo si existe la posiblidad de conectar por SSL al servidor):

##
# Certificados SSL
##
#
set certificate_file = ~/.mutt/certificados

Bien, ahora añadiremos los comandos que mutt utilizará para encriptar, firmar, desencriptar, comprobar, etc etc ficheros con GnuPG:

##
# GnuPG
##
#
set pgp_decode_command="gpg %?p?--passphrase-fd 0? --no-verbose \
--batch --output - %f"
set pgp_verify_command="gpg --no-verbose \
--batch --output - --verify %s %f"
set pgp_decrypt_command="gpg --passphrase-fd 0 --no-verbose \
--batch --output - %f"
set pgp_sign_command="gpg --no-verbose \
--batch --output - --passphrase-fd 0 --armor --detach-sign \
--textmode %?a?-u %a? %f"
set pgp_clearsign_command="gpg --no-verbose \
--batch --output - --passphrase-fd 0 --armor --textmode \
--clearsign %?a?-u %a? %f"
set pgp_encrypt_only_command="gpg --batch --quiet --no-verbose \
--output - --encrypt --textmode --armor --always-trust \
--encrypt-to 0xMICLAVE -- -r %r -- %f"
set pgp_encrypt_sign_command="gpg --passphrase-fd 0 --batch --quiet \
--no-verbose --textmode --output - --encrypt --sign %?a?-u %a? \
--armor --always-trust --encrypt-to 0xMICLAVE -- -r %r -- %f"
set pgp_import_command="gpg --no-verbose \
--import -v %f"
set pgp_export_command="gpg --no-verbose \
--export --armor %r"
set pgp_verify_key_command="gpg --no-verbose \
--batch --fingerprint --check-sigs %r"
set pgp_list_pubring_command="gpg --no-verbose \
--batch --with-colons --list-keys %r"
set pgp_list_secring_command="gpg --no-verbose \
--batch --with-colons --list-secret-keys %r"
set pgp_autosign=yes
set pgp_sign_as=0xMICLAVE
set pgp_replyencrypt=yes
set pgp_timeout=1800
set pgp_good_sign="^gpg: Firma correcta"
set pgp_verify_sig=yes

Ahí sustituiremos MICLAVE por nuestra clave de GnuPG.

Ahora ajustaremos la ruta al fichero mailcap, fichero que configuraremos más tarde:

##
# Mailcap
##
#
set mailcap_path = ~/.mutt/mailcap

Ahora haremos que solo se muestren algunas cabeceras en lugar de todo lo que muestra mutt por defecto:

##
# Cabeceras
##
#
ignore *
unignore from: reply-to mail-followup-to to cc bcc subject \
date x-mailer user-agent

Ahora haremos la configuración propia de IMAP:

##
# IMAP
##
#
set folder = "imap://yo@tu-host.org"
set imap_pass = "mi_password"
set timeout = 10
set record = imap://yo@tu-host.org/INBOX.Sent

folder-hook . 'unset from; unset imap_pass;'
folder-hook imap://yo@tu-host.org 'set imap_pass=mi_pass;
set from="Fernando J. Pereda <yo@tu-host.org>";
set sort=date'
folder-hook imap://yo@host2.org 'set imap_pass=el_otro_pass;
set from="Fernando J. Pereda <yo@hots2.org>";
set sort=date'

##
# Carpetas
##
#
mailboxes = imap://yo@tu-host.org/ imap://yo@host2.org/

Ahí lo que hacemos es configurar para cada cuenta las variables que difieren entre unas y otras. Y con mailboxes le decimos a mutt que combruebe correo en las dos carpetas.

Yo soy muy dado a pulsar la tecla 'q' (por alguna extraña razón ;)) así que lo que hice fue cambiar algunas de las funciones que hacen las teclas en mutt:

##
# Teclas
##
#
bind index x noop
bind index q noop
bind index Q quit

Con esto hago que la 'x' no haga nada (normalmente sale de mutt !!) y cambio la 'q' por 'Q' que ya hay que pulsarlo a conciencia ;)

Por ahora guardaremos el ~/.muttrc aunque no hemos acabado con él. Ahora vamos a evitar instalar en nuestro PC un MTA grande como qmail, postfix o sendmail, así que instalaremos un fake-MTA, es decir se encarga de pasárselo directamente a otro servidor SMTP más grande (el de nuestro ISP ;)):

Gentoo Linux

[shell]# emerge ssmtp
Debian GNU/Linux
[shell]# apt-get install ssmtp
RedHat
Al igual que antes buscamos e instalamos el RPM.
FreeBSD
[shell]# cd /usr/ports/mail/ssmtp
[shell]# make install

Ahora editamos el fichero /etc/ssmtp/ssmtp.conf, yo tuve que añadir lo siguiente:

mailhub=tu-host.org
rewriteDomain=tu-host.org
hostname=_HOSTNAME_
FromLineOverride=YES

Ahora volvemos a nuestro preciado ~/.muttrc y añadimos:

##
# SMTP
##
#
set sendmail = /usr/sbin/ssmtp

Mutt tiene soporte para listas de correo... es una discusión muy típica el que si los mensajes han de ir al que los escribió o directamente a la lista de correo. Aquí no discutiremos eso, solo decir que mutt permite las dos cosas:

##
# Listas de correo
##
#
list gentoo-user-es@gentoo.org lucas-coord@listas.hispalinux.es
subscribe gentoo-user-es@gentoo.org lucas-coord@listas.hispalinux.es

Esto nos permitir que pulsando 'L' contestemos a la lista y no al que escribi el mensaje. (que cada uno ponga sus listas ;))

Para que mutt no se queje al iniciarse, vamos a crear los ficheros ~/.mutt/mailcap y ~/.mutt/aliases:

[shell]$ cp /etc/mailcap ~/.mutt/mailcap
[shell]$ touch ~/.mutt/aliases
Importante: Es probable que quiera editar el ~/.mutt/mailcap para ajustarlo a sus necesidades

Ya estamos "casi" terminando. Ahora configuraremos un programa que hará que nuestros mails queden más bonitos al imprimirlos ;)

Gentoo Linux

[shell]# emerge muttprint
Debian GNU/Linux
[shell]# apt-get install muttprint
RedHat
Aquí teneis el paquete.
FreeBSD
[shell]# cd /usr/ports/mail/muttprint
[shell]# make install

Copiamos el /usr/share/doc/muttprint/sample-muttprintrc-es en ~/.muttprintrc y lo editamos si es necesario.

[shell]$ cp /usr/share/doc/muttprint/sample-muttprint-es ~/.muttprintrc

Ahora volvemos a nuestro ~/.muttrc y añadimos:

##
# Impresión
##
#
set print_command = "muttprint"

Por último voy a poner mi configuración de colores..... que cada uno ponga los que le gusten.

##
# Colores
##
#
# [generic]
color normal white black
color error red white
color message blue white
color search red white
color indicator brightyellow brightred
color status white blue

# [index]
color index magenta black "~A" # all
color index yellow black "~l" # lists
color index green black "~p" # to me
color index red black "~P" # by me
color index blue black "~D" # deleted
color index white black "~T" # tagged
color tree white black

# [pager]
color hdrdefault cyan blue
color header brightgreen blue "^from: "
color header green blue "^date: "
color header brightyellow blue "^subject: "
color body red black \
"(((ht|f)tp)|news|telnet|finger|mailto):(//)?[^ \)>\"\t\r\n]+"
color body red black "(www|ftp)\\.[-a-z0-9\\.]+"
color body red black \
"[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
color body brightwhite black \
"(^|[[:space:]])_[[:alpha:]]+_([[:space:]]|$)"
color body brightwhite black \
"(^|[[:space:]])\\*[[:alpha:]]+\\*([[:space:]]|$)"
color bold brightyellow black
color underline brightcyan black
color markers brightred black
color quoted cyan black
color quoted1 green black
color attachment magenta black
color signature red black
color tilde blue black

Espero que disfruteis de este cliente de correo ;) y que esta guía os haya servido para usarlo. En mutt siempre podeis pulsar '?' para obtener ayuda sobre las teclas y funciones disponibles.



Technorati Tags:
>>

< Anterior   Próximo >



 
Top!
Top!