Apunts de Mutt, Fetchmail i Procmail per a llegir els correus electrònics (actualitzat)

Mutt y mi muttrc

Hi han coses que, per moltes novetats que existisquen a internet, són sagrades: llegir i controlar els teus correus electrònics de forma segura i eficient.

Ja fa molts anys que vaig conèixer Mutt, i no l'he abandonat mai perquè té tot el que jo necessite: tinc les dades al meu servidor, controle les bústies de correu, té àlies per la gestió ràpida de contactes i treballa molt bé l'encriptació dels correus.

Ací deixo un exemple configuració del meu fitxer .fetchmailrc que agafa correus d'un compte de yahoo i de Gmail al meu servidor domèstic amb OpenBSD cada 60 segons:


set daemon 60
##########################################
# YAHOO
##########################################
#poll pop.mail.yahoo.com
#protocol pop3
#username "EL_TEU_USUARI"
#password "LA_TEUA_COTRASENYA" is "NOM_PROPI" here

##########################################
# GMAIL
##########################################
poll imap.gmail.com protocol IMAP
user "EL_TEU_CORREU@gmail.com" is NOM_PROPI here
password 'LA_TEUA_CONTRASENYA'
#fetchlimit 6
keep
ssl

Com que tinc prou correus, m'he configurat la distribució automàtica dels meus correus a diferents bústies tal com van arribant al meu servidor en /var/joan/mail.

Els correus que tinc són:

$ ls /home/joan/Mail/              
drafts                  ------> esborradors
entrada.joan            ------> la bústia principal
entrada.listastecnicas  ------> totes les meues llistes tècniques
entrada.gmail           ------> el meu correu de gmail  
entrada.kreanto         ------> el meu correo de kreanto
entrada.xnolimetangere  ------> el meu correu yahoo (¡des de 1995!)

Per a redirigir els meus correus, ficarem entre el Sendmail de l'OpenBSD i el Mutt l'aplicatiu procmail, i ara et comente què és i com com es fa.

Procmail es una aplicació de redistribució del correu electrònic (en anglès mail delivery agent o MDA) de licencia GPL. Procmail ens permet agafar distintes bústies de correu electrònic, bloquejar l'SPAM revisant les capçaleres del correu, enviar tots els correus d'un amic a un altre correu fent una redirecció, esborrar tots els correus que provinguen d'una adreça enviant-lo a /dev/null, etc. És molt parametritzable i podem fer moltes coses afegint regles al fitxer de configuració de procmail.

Anem a començar a veure com funciona amb un xicotet exemple real que jo faig servir. Primer de tot, crearem el fitxer .forward con el siguiente contenido:


"| exec /usr/local/bin/procmail"

Amb açò, tots els correus que rebrem passaràn al nostre procmail.
Ara, crearem el fitxer de configuració de procmail .procmailrc amb el següent contingut:


VERBOSE=off

# el directori on estàn les bústies de Mutt
MAILDIR=$HOME/Mail/

# el directori on tindrem els logs i fitxers rc de procmail
PMDIR=$HOME/.procmail
LOGFILE=$PMDIR/log
INCLUDERC=$PMDIR/rc.lists

I ara, finalment, afegirem les regles de procmail que volem. Crearem el directori .procmail i dins afegirem el fitxer rc.lists:


:0
* ^Sender.*xnolimetangerex*
entrada.xnolimentangere

:0
* ^To.*joancatalapinyo*
entrada.gmail

:0
* ^To.*kreanto.com*
entrada.kreanto

Bàsicament el que faig es redirigir 3 tipus de correus que tinc a tres bústies, és prou intuitiu, no? I ja ho tenim. Si ara t'envies correus als teus diferents correus, veuràs que cada correu ja es redirigeix a la seua bústia de manera automàtica. No cal fer res més, Procmail treballa molt molt bé.

I ací deixo com a exemple la configuració del meu .muttrc:

#################################################################
# Configuracio de les meues identitats
#################################################################
# La meua identitat per defecte
set from = "joan "

# Vull usar aquestes adreces de correu electronic
alternates "(joan@riseup\.net)|(joan@kreanto\.com)|(joancatalapinyo@gmail\.com)"

# Puc canviar el "From" dins del Mutt sense necessitat d'eixir, estiga en la bustia que estiga.
set use_from

# Aquestes son les macros que tinc per als diferents e-mails fent ESC+1, ESC+2, ESC+3, etc.
macro index \e1 ":set from='joan '\n:set status_format=\"-%r-joan@riseup.net: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---\"\n" "Cambiar a joan@riseup.net"

macro index \e2 ":set from='joan '\n:set status_format=\"-%r-joan@kreanto.com: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?l? %l?]---(%s/%S)-%>-(%P)---\"\n" "Cambiar a joan@kreanto.com"

macro index \e3 ":set from='joan '\n:set status_format=\"-%r-joancatalapinyo@gmail.com: %f [Msgs:%?M?%M/?%m%?n? New:%n?%?o? Old:%o?%?d? Del:%d?%?F? Flag:%F?%?t? Tag:%t?%?p? Post:%p?%?b? Inc:%b?%?2? %l?]---(%s/%S)-%>-(%P)---\"\n" "Cambiar a joancatalapinyo@gmail.com"

folder-hook =entrada.joan 'push \e1'
folder-hook =entrada.kreanto 'push \e2'
folder-hook =entrada.gmail 'push \e3'

macro index I "c=entrada.joan\n" "Cambiar a entrada.joan"
folder-hook =entrada.joan 'macro index I "c=entrada.kreanto\n" "Cambiar a entrada.kreanto"'
folder-hook =entrada.kreanto 'macro index I "c=entrada.gmail\n" "Cambiar a entrada.gmail"'
folder-hook =entrada.gmail 'macro index I "c=entrada.joan\n" "Cambiar a entrada.joan"'

#################################################################
# Mis distintas Mailboxes (listar pulsando 'y')
#################################################################
set postponed = "~/Mail/drafts"
mailboxes = ~/Mail/entrada.kreanto
mailboxes = ~/Mail/entrada.gmail
mailboxes = ~/Mail/entrada.xnolimentangere

#################################################################
# Vull que Mutt funcione amb l'eMacs
#################################################################
set editor="/usr/local/bin/emacs"

#################################################################
# Codificacio
#################################################################
# Permitir escribir caracteres de 8 bits i usar charset iso
set allow_8bit
#set charset="iso-8859-1"
set charset="utf8"
set locale="es_ES"

#################################################################
# Colors
#################################################################
color normal white black
color status brightgreen blue
color tree red black
color markers brightred black
color tilde blue black
color indicator black cyan

color index cyan black "!~R"
color index brightcyan black "~T"
color index brightgreen black "~p"
color index brightgreen black ".*Uwe Hermann.*"
color index red black ~D

color hdrdefault brightyellow black

color header brightmagenta black ^Subject:
color header brightwhite black ^X-Mailer:
color header brightwhite black ^User-Agent:
color header brightgreen black ^From:
color header brightgreen black ^Reply-To:
color header brightgreen black ^To:
color header brightgreen black ^Cc:
color header brightgreen black ^Bcc:
color header brightgreen black ^Delivered-To:

color body white black (https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+
color body brightyellow black [\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+
color body brightmagenta black ^Subject:
color body yellow black "[;:]-[)/(|]" # Colorize smileys.

color quoted brightcyan black
color quoted1 cyan black
color quoted2 brightcyan black
color quoted3 cyan black
color quoted4 brightcyan black
color quoted5 cyan black

color signature cyan black
color attachment green black

#################################################################
# S/MIME
#################################################################
color body black red "^Verification failure.*"

#################################################################
# queremos ver algunos tipos MIME en línea, mire más abajo en esta misma
# guía para ver una explicación de esto
#################################################################
auto_view application/msword

#################################################################
# Ordre descendent i amb fils encadenats
#################################################################
set sort=threads
set sort_browser=date
set sort_aux=reverse-last-date-received

#################################################################
# Fique la firma amb "--" i la guarde al fitxer ~/.mutt/firma)
#################################################################
set sig_dashes
set signature="~/.mutt/firma"

#################################################################
# La llibreta de direccions
#################################################################
set alias_file=~/.mutt/aliases

#################################################################
# Mis bindings
#################################################################
bind pager / search
bind pager n next-undeleted
bind pager p previous-undeleted

bind pager previous-line
bind pager next-line

bind index r group-reply
bind pager r group-reply

macro index "c?"
macro index "*"

LOCALITZACIÓ UTF8

Vols tindre el Mutt en castellà, català, esperanto, xinès o àrab?... aleshores cal que configures la variable de la llengua de l'OpenBSD amb utf8, que encara que OpenBSD és un poc universal, ja que fins ara els desenvolupadors no li han prestat massa atenció a les altres llengües del món, a banda de l'anglès, en realitat sí que podem tenir altres configuracions.
Simplement caldrà afegir al ~/.profile la següent línia:

export LANG=es_ES.UTF-8

I, si tornem a entrar al Mutt veurem ja les nostres lletres favorites: ç, ñ, ĉ, ĥ, ŝ, ŭ, etc... com pots veure a la imatge d'aquest article.

SOBRE EL FETCHMAIL

set daemon EN_SEGONS: és a dir, la quantitat que fiques després són els segons.

fetchmail -v: vol dir "verbose", és a dir, que et mostra el que està fent.

Pot ser, un altre dia publicaré la configuració de Mutt i GnuPG per a signar, encriptar i desencriptar correus electrònics.

TRUCS I TECLES DEL MUTT

c -> obrim les bústies que tenim
t -> marquem un correu (si eixim es desmarca)
w -> per a marcar indefinidament els correus
/ -> per a cercar paraules als correus

ENLLAÇOS EXTERNS

On vaig veure com afegir distints correus electrònics al Mutt al mateix temps.
http://feeding.cloud.geek.nz/posts/handling-multiple-identitiesaccounts…

Un magnífico documento sobre tecnologías de los correos electrónico de la Universidad Simón Bolívar.
http://ldc.usb.ve/~jose/OldPage/Col001.pdf

Guía rápida de uso de Procmail
http://www.lsi.upc.edu/lclsi/procmail.html

Usando procmail (labcomp) Valparaíso, 2006.
http://www.alumnos.inf.utfsm.cl/~nrafalow/procmail.pdf

Espere que us agrade aquest article ;-)