Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/02/2003, 06:36
Avatar de Ferdy
Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicación: España
Mensajes: 1.430
Antigüedad: 22 años, 11 meses
Puntos: 0
El 'geek', IMAP, y su Mutt.

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. Además 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
Código:
[shell]# emerge mutt
Debian GNU/Linux
Código:
[shell]# apt-get install mutt
RedHat
Buscamos en http://rpmfind.net el paquete: http://rpmfind.net/linux/rpm2html/se...m=redhat&arch=
Personalmente recomiendo usar la versión 1.4 de mutt. La bajamos y la instalamos:
Código:
[shell]# rpm -ivh mutt-1.4-4.i386.rpm
FreeBSD
Código:
[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:
Código:
[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.
Código:
[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 cuestión:
Código:
[shell]$ vim ~/.muttrc
Lo primero será poner las opciones generales. Solo añadir que el delimitador de comentarios es #:
Código:
##
# General
##
#
set hostname = tu-host.org
set from = "Fernando J. Pereda <[email protected]>"
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:
Código:
##
# 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 lilibreta 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):
Código:
##
# 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:
Código:
##
# 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
Hay sustituiremos MICLAVE por nuestra clave de GnuPG.

Ahora ajustaremos la ruta al fichero mailcap, fichero que configuraremos más tarde:
Código:
##
# Mailcap
##
#
set mailcap_path = ~/.mutt/mailcap
Ahora haremos que solo se muestren algunas cabeceras en lugar de todo lo que muestra mutt por defecto:
Código:
##
# 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:
Código:
##
# IMAP
##
#
set folder = "imap://[email protected]"
set imap_pass = "mi_password"
set timeout = 10
set record = imap://[email protected]/INBOX.Sent

folder-hook . 'unset from; unset imap_pass;'
folder-hook imap://[email protected] 'set imap_pass=mi_pass; set from="Fernando J.
 Pereda <[email protected]>"; set sort=date'
folder-hook imap://[email protected] 'set imap_pass=el_otro_pass; set from="Fer
nando J. Pereda <[email protected]>"; set sort=date'

##
# Carpetas
##
#
mailboxes = imap://[email protected]/ imap://[email protected]/
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:
Código:
##
# 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 jake-MTA, es decir se encarga de pasárselo directamente a otro servidor SMTP más grande (el de nuestro ISP ;)):

Gentoo Linux
Código:
[shell]# emerge ssmtp
Debian GNU/Linux
Código:
[shell]# apt-get install ssmtp
RedHat
Buscamos el paquete y lo instalamos como hicimos con mutt.

FreeBSD
Código:
[shell]# cd /usr/ports/mail/ssmtp
[shell]# make install
Ahora editamos el fichero /etc/ssmtp/ssmtp.conf, yo tuve que añadir lo siguiente:
Código:
mailhub=tu-host.org
rewriteDomain=tu-host.org
hostname=_HOSTNAME_
FromLineOverride=YES
Ahora volvemos a nuestro preciado ~/.muttrc y añadimos:
Código:
##
# 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:
Código:
Esto nos permitirá que pulsando 'L' contestemos a la lista y no al que escribió el mensaje. (que cada uno ponga sus listas ;))

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

Gentoo Linux
Código:
[shell]# emerge muttprint
Debian GNU/Linux
Código:
[shell]# apt-get install muttprint
RedHat
Aquí teneis el paquete: http://muttprint.sourceforge.net/download.shtml

FreeBSD
Código:
[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. Ahora volvemos a nuestro ~/.muttrc y añadimos:
Código:
##
# Impresión
##
#
set print_command = "muttprint"

Última edición por Ferdy; 23/02/2003 a las 06:51