La veritat és que al món de UNIX hi ha programari prou desconegut per als usuaris de Windows i Mac, però que valen molt la pena. La filosofia de "fes una cosa, i fes-ho bé" de UNIX sempre m'ha agradat. [Et recomane l'article en la llengua de Shakespeare anomenat 'Basics of the Unix Philosophy'] Des de fa més de 15 anys, sóc un gran fan de Mutt, un client de correu en mode terminal que té tot el que cal per a llegir correus i enviar correus, per cifrar correus o signar-los electrònicament, per reenviar correus, participar a diversos grups o llistes de distribució de correu, afegir contactes i abreviatures o àlies dels contactes, pots triar l'editor de text que vullgues per a redactar els teus correus com, per exemple, l'eMacs (el meu favorit), el clàssic Vi que pots trobar a qualsevol sistema UNIX, el Vim, l'Ed, el Nano, etc.. També pots crear-te macros per a que Mutt execute ordres quan li dones clic a alguna tecla, també permet configurar distints comptes de correu electrònic i organitzar-los en format Maildir o Mbox, també pots triar distints remitents quan envies correus electrònics, i un llarguíssim i lliure etc.
Hi ha molta informació a la xarxa, però bàsicament el meu muntatge al portàtil és el següent: tinc dos correus electrònics que capture amb el protocol POP3, i també tinc un compte de Gmail (també al smartphone de cada dia) que capture amb IMAP però, de manera offline, així sempre tinc una còpia dels correus al meu ordinador, i puc treballar sense internet i enviar tants correus com vullga tranquil·lament, i quan execute el dimoni que sincronitza amb Gmail (el programari offlineimap) doncs els correus s'enviaran automàticament.
Mutt
A la pàgina oficial del projecte Mutt diu el clàssic "All mail clients suck. This one just sucks less.", i és que aquest client de correu és molt bo, ràpid, eficient, estable, permet editar correus sense massa distraccions i configurar-lo quasi ad infinitum.
Configurar Mutt amb IMAP i Gmail és molt fàcil, el problema és que sempre necessites internet per a utilitzar Gmail i jo volia fer ús dels correus amb IMAP del Gmail però també de manera offline poder treballar i revisar correus.
Configurar Mutt amb la teua clau pública/privada GPG per a cifrar i signar electrònicament les teues comunicacions és fàcil, i imprescindible si vols compartir dades sensibles, com contrasenyes, documents privats, dades de caràcter personals sense anonimitzar, etc.
Evidentment, per a usar GPG primer et cal tenir coneixements de generació de claus, importació i exportació de claus, etc, etc, etc, pots començar per ací, però amb Mutt nomès et cal afegir el ID del teu fingerprint, i Mutt ja sap cifrar i signar correus sense problemes.
I com faig els enviaments SMTP?
Doncs ací m'he inventat un truc. A la configuració de Mutt (el fitxer .muttrc) li dic que els fitxers enviats m'els guarde a la bústia IMAP de Gmail amb:
set record = "~/Mail/gmail/[Gmail].Enviats"
Cada correu que escric, signat electrònicament, cifrat amb GPG o obert, sempre anirà a la bústia [Gmail].Enviats. Aleshores, puc escriure cinc, vint, cinquanta correus tranquil·lament i sense internet. I quan torne a tindre internet i el cron execute automàticament offlineimap, els correus d'aquesta bústia [Gmail].Enviats es sincronitzaran amb el servidor Gmail i s'enviaran en eixe moment. Aleshores, no tinc configurat sMTP o postfix o sendmail perquè m'agrada aquest sistema offline/online DIY :-)
Per cert, hi ha themes i molts tutorials i configuracions compartides a la xarxa, pots cercar al cercador de Google i trobaràs que és un programari molt popular i amb moltes configuracions distintes.
Offlineimap
Offlineimap ens descarregarà tots els correus de Gmail i ens sincronitzarà totes les nostres bústies locals sempre que fem canvis. Si esborrem correus en local, quan executem offlineimap s'esborraran al servidor de Gmail també.
Per què offlineimap? Doncs perquè puc treballar sense internet còmodament, com ja he comentat abans el protocol IMAP et fa 'esclau' de la xarxa i sense connexió no funciona IMAP, però amb offlineimap sempre tindré sincronitzada la meua bústia de correus local amb la bústia de Gmail a internet, i aleshores si ara agafe en un altre lloc un altre ordinador o un smartphone, tinc sempre els mateixos correus a la safata d'entrada, al directori d'enviats, etc.
Instal·lem amb:
pkg_add -v -i offlineimap
Per a configurar-ho, editem el fitxer .offlineimaprc amb:
[general]
ui = ttyui
accounts = Gmail
[Account Gmail]
localrepository = gmail-local
remoterepository = gmail-remote
[Repository gmail-local]
type = Maildir
localfolders = ~/Mail/gmail
[Repository gmail-remote]
type = Gmail
remoteuser = EL_TEU_USUARI@gmail.com
remotepass = LA_TEUA_CONTRASENYA
realdelete = no
maxconnections = 3
sslcacertfile = EL_TEU_CERTIFICAT #A OpenBSD és a /etc/ssl/cert.pem)
Fetchmail
Fetchmail em descarrega dos correus electrònics que tinc amb POP3. És un programari molt senzill i molt bo, filosofia UNIX.
Instal·lem amb:
pkg_add -v -i fetchmail
Ara, configurarem el fitxer .fetchmailrc amb les dades dels nostres correus. Per exemple dos correus amb POP3 i SSL al port 995 seria de la següent manera:
##########################################
# CORREU 1
##########################################
poll pop.1and1.es
protocol pop3
service 995
user "EL_TEU_CORREU_ELECTRONIC" is joan here,
pass 'LA_TEUA_CONTRASENYA'
fetchall
ssl
##########################################
# CORREU 2
##########################################
poll pop.1and1.es
protocol pop3
service 995
user "EL_TEU_CORREU_ELECTRINIC" is joan here,
pass 'LA_TEUA_CONTNRASENYA'
fetchall
ssl
*** Important SEMPRE usar SSL per a tenir comunicacions segures als correus electrònics.
Al crontab del meu usuari, capture els correus POP3 amb fetchmail cada 5 minuts i sincronitze la meua bústia IMAP de Gmail cada 3 minuts amb les següents línies:
*/3 * * * * /usr/local/bin/offlineimap
*/5 * * * * /usr/local/bin/fetchmail
Però aquestos correus els filtre i els ordene a distintes bústies amb procmail, que és l'altra joia de la corona.
Procmail
Procmail és un programari que ens permet desar el correu, filtrar-lo, afegir regles concretes a correus o destinataris o paraules i tractar aquestos correus com vullguem. Per exemple, si a l'assumpte té la paraula "viagra" podem enviar-lo directament a /dev/null i no ens molestaran mai aquestos correus.
Instal·lem amb:
pkg_add -v -i procmail
Primer de tot cal editar el fitxer .forward amb:
|/usr/local/bin/procmail
A continuació editem el fitxer .procmailrc amb:
VERBOSE=yes
# Mutt and Elm use 'Mail'; Pine uses 'mail'
MAILDIR=$HOME/Mail/
# Directory for storing procmail log and rc files
PMDIR=$HOME/.procmail # or $HOME/.Procmail for easier TAB-completion
LOGFILE=$PMDIR/log
INCLUDERC=$PMDIR/rc.lists
I, finalment, el fitxer .procmail/rc.lists contindrà les regles que vullgues per als teus correus:
0
* ^To.*pilarin@domini.org*
Bústia-de-pilarin
0
* ^To.*pasqualet@domini.org*
Bústia-de-pasqualet
La veritat és que aquestos són dos exemples molt senzills, però procmail és molt configurable i les regles que podem afegir són moltíssimes (filtrar per destinatari, per domini, per nom del remitent, per paraula en el correu, per paraula en l'assumpte, etc, etc, etc). Sempre és recomanable un RTFM (Read The Fucking Manual) si vols configurar programari Unix, ja que com hi ha infinites possibilitats, no es pot fer un únic article per a tot el món.
Espere que trobes útil aquest article, i que et motive a compartir els teus trucs i coneixements i experiments amb el Programari Lliure. La Comunitat del Programari Lliure et necessita! :-)
Alguns enllaços interessants:
Web oficial de Mutt
http://www.mutt.org
NeoMutt
https://neomutt.org
Fetchmail
http://www.fetchmail.info/
OfflineImap
http://www.offlineimap.org/
Article Wikipedia sobre Procmail
https://en.wikipedia.org/wiki/Procmail