Missió: enviar correus en segon pla, per a tenir una experiència ràpida treballant amb correus electrònics des de consola. Objectiu complert.
Al món de UNIX, som molts a qui en agrada tenir el correu controlat amb un MUA per consola, com per exemple amb procmail (per a distribuïr correus), fetchmail (per a descarregar-los) i Mutt (per a llegir i escriure des de la consola), a més a més que ja fa temps vaig escriure un article prou extens que explicava punt a punt com configurar cada aplicació. Ja saps que la filosofia a UNIX (contrària a la filosofia Microsoft) és que una aplicació fa nomès una única funció, però la fa molt bé.
Sé que molta gent preferirà el Outlook o un client gràfic com el Mozilla Thunderbird o llegir els correus amb un navegador web com Yahoo o Gmail, i està bé, aquesta és una decissió personal, però jo vull tindre'l al meu equip al qual, en cas de voler consultar els correus des d'un altre ordinador, sempre puc accedir via SSH i llegir o enviar correus. O també puc configurarme fetchmail i Mutt per a llegir correus via IMAP, aleshores sempre estaran també al servidor i podré consultar-los des d'un navegador web en qualsevol altre ordinador.
Per cert, aprofitant aquest article, ací et deixe un video on es veu com es treballa amb Mutt, procmaili fetchamil, que vaig fer fa un parell d'anys i el vaig pujar al Youtube:
Doncs bé, fins ara en aquest FreeBSD versió 10.1, tenia funcionant el Mutt, Fetchmail i GNUPG per a enviar correus electrònics cifrats o signats electrònicament, aleshores no vaig a parlar d'aquestes configuracions. Aquesta vegada volia que Mutt envie els correus en background ja que algunes vegades tenia que esperar uns quants segons.
I en definitiva, això ho he solventat amb un MTA anomenat mSMTP, un programa molt lleuger i ràpid d'enviament de correus.
Aleshores, fiquem-nos mans a l'obra: com amb qualsevol paquet existent a FreeBSD, podrem instal·larho amb:
# pkg install msmtp
A continuació, crearem els fitxers de configuració:
# touch /var/log/msmtp.log
# chmod 777 /var/log/msmtp.log
Configurarem mSMTP a la ruta /usr/local/etc/msmtprc on, de moment, jo m'he configurat l'enviament de correus des del SMTP de Gmail:
defaults
tls on
tls_starttls on
tls_trust_file /usr/local/share/certs/ca-root-nss.crt
account default
host smtp.gmail.com
port 587
auth on
user EL_TEU_USUARI@gmail.com
password CONTRASENYA
from joan@riseup.net
logfile /var/log/msmtp.log
La ruta /usr/local/share/certs/ca-root-nss.crt és on acostumen a estar els certificats a FreeBSD. Pots canviar aquesta ruta del paràmetre tls_trust_file per un altra, en cas de que estigues a un sistema operatiu distint.
Ara podem fer una prova amb:
echo -e "Subject: Prova\r\n\r\nAquest correu es una prova" |msmtp --debug --from=default -t joan@riseup.net
Si hem rebut el correu, mSTMP ja ens funciona correctament. Aleshores, finalment nomès ens caldrà modificar la configuració del Mutt, comentant el camp #set smtp_url i afegirem les següents línies per a que use mSMTP i en segon pla:
#Li diem la ruta per al comando mSMTP
set sendmail="/usr/local/bin/msmtp"
set envelope_from=yes
#Li diem a mSMTP usar aquesta adreça per a enviar
macro generic "1" ":set from=joan@riseup.net"
#Enviament en background
set sendmail_wait=-1
Algunes pàgines d'on he agafat informació:
- http://www.absolutelytech.com/2010/07/17/howto-configure-msmtp-to-work-…
- https://forums.freebsd.org/threads/cas-root-certificates.40152/
- http://www.vigasdeep.com/mutt-background-sending-with-msmtp/
I això és tot. Ja tinc el meu Mutt com sempre, però ara envie correus molt ràpid perquè els processa en segon pla o background, com diria Shakespeare.