Guida rapida all'uso di Mutt
1.
Introduzione all'E-Mail
Se non siete fan dei client e-mail con interfacce grafiche elaborate, o se
volete soltanto provare un altro client di posta elettronica prima di
decidere qual'è il migliore per voi, ecco il modo per iniziare ad utilizzare
questi potenti strumenti a linea di comando:
fetchmail, procmail, mutt & smtp
Questi programmi non sono solo potenti e altamente personalizzabili, ma sono
anche piccoli ed efficenti. Una volta che li avrete configurati sarete
sbalorditi da quello che potrete farci.
Dato che questa è una guida veloce, elimineremo l'uso dei "Mail Transfer Agent
(MTA)" quali sendmail, postfix o exim. Questo significa evitare complesse
configurazione degli MTA. Questa scelta elimina, inoltre, l'uso della porta 25
per i servizi legati all'email
Possiamo fare tutto questo perché fetchmail può ridirigere la mail che
recupera direttamente al "Mail Delivery Agent (MDA)", invece di mandarla alla
porta 25. Non è nemmeno necessario utilizzare un MTA per la spedizione della
posta elettronica verso INTERNET.
Questi sono i programmi che dovrete utilizzare per avere il sistema di posta
elettronica funzionante.
Codice 1.1: Installare le applicazioni richieste |
# emerge fetchmail nbsmtp procmail mutt
|
E adesso qualche configurazione e alla fine avrete funzionante un nuovo sistema
per l'invio e la ricezione della posta elettronica.
Importante:
Dopo ogni configurazione potete fare un test per essere sicuri che la
configurazione fatta sia corretta.
|
2.
Fetchmail
Fetchmail prende la mail dai server remoti e la redirige al local delivery
system installato sulla macchina. Per utilizzarlo è necessario configurare un
file .fetchmailrc posizionato nella propria home directory, come
in questo esempio:
Codice 2.1: Esempio di file .fetchmailrc |
poll mail.myisp.net protocol pop3 user "myname" password "mypasswd"
|
Una volta creato il file .fetchmail.rc, dovrete cambiare i
permessi sul file utilizzando il comando chmod. Questo file deve essere
leggibile solo dal proprietario del file stesso. Impostate i permessi
utilizzando il seguente comando:
Codice 2.2: Modificare i permessi |
$ chmod 600 .fetchmailrc
|
Per vedere fetchmail in azione, usate la modalità "verbose". Per scaricare
tutti i messaggi utilizzate l'opzione -a. Dovete utilizzare l'opzione -m per
dire a fetchmail di mandare la mail al procmail.
Avvertenza:
Mentre siete nella fase di test, è una buona idea dire a fetchmail di
mantenere tutta la mail sul server remoto (attraverso l'opzione -k), nel caso
qualcosa vada storto, potrete recuperare nuovamente la mail.
|
Ora lanciate fetchmail per vederlo in azione!
Codice 2.3: Fetchmail test #1 |
$ fetchmail -akv -m "/usr/bin/procmail -d %T"
|
Una volta che il vostro sistema è funzionante, potete inserire il comando nel
cron o metterlo in un monitor come gkrellm. Fetchmail, può anche funzionare
come un demone, specificando un intervallo di tempo (in secondi) per il
controllo della posta.
3.
Procmail
Procmail è il processore che filtra le email che gli vengono redeirette da
fetchmail. Esegue la funzionalità di MDA per consegnare la mail alle vostre
mailbox, dalle quali mutt (il vostro client di posta elettronica) le potrà
leggere.
Per utilizzare procmail, è necessario creare un file .procmailrc
nella vostra home directory. Per la nostra guida "veloce" ne utilizzeremo uno
molto semplice che filtrerà la posta proveniente da tre mailing list di
gentoo e ne metterà le email in tre mailbox: gentoo-dev,
gentoo-user e gentoo-announce.
Nota:
I filtri di procmail vengono chiamati "ricette", ne sono state inserite alcune
per filtrare del possibile spam.
|
Codice 3.1: Sample .procmailrc |
MAILDIR=$HOME/MuttMail ##meglio sapere che c'è
LOGFILE=$HOME/.procmaillog
LOGABSTRACT=no
#VERBOSE=on... suggerito solo in caso di debug
VERBOSE=off
FORMAIL=/usr/bin/formail
NL="
"
##le linee delle ricette inziano con :0
##non mettete commenti sulle linee delle ricette
##disabilitate le ricette inserendo una condizione di "FALSE" !
##le linee delle condizioni iniziano con un * e le espressioni regolari
##sono vostre amiche
##le condizioni sono concatenate con un "and" logico e tutto ciò che viene
##messo dopo un * viene dato in pasto direttamente ad un egrep
##una linea delle azioni segue le condizione, in questo caso è stato
##inserito il nome di una mailbox
#trova i duplicati utilizzando formail
:0 Whc: .msgid.lock
| $FORMAIL -D 16384 .msgid.cache
:0 a
$MAILDIR/duplicates
#gente dalla quale vogliamo sempre ricevere email
:0
* ^From:.*(craig\@hotmail|renee\@local.com)
$MAILDIR/friends
#adesso togliamo un po' di spam
:0
* ^Subject:.*(credit|cash|money|debt|sex|sale|loan)
$MAILDIR/spam
#non voglio mail in HTML
:0
* ^Content-Type:.*html
$MAILDIR/junk
#mettiamo le mailing list nelle mailbox
:0
* ^List-Id:.*gentoo-user
gentoo-user
:0
* ^List-Id:.*gentoo-dev
gentoo-dev
:0
* ^List-Id:.*gentoo-announce
gentoo-announce
#trova tutte le email che vengono da gentoo
:0
* ^From:.*gentoo.org
gentoo
:0
* ^From:.*@freshmeat\.net
freshmeat
################################
# ultima regola: tutte le mail #
# che non rientrano nelle altre #
# regole finiscono nella inbox #
################################
:0
* .*
default
# Fine del file
|
Nota:
È necessario creare solo la MAILDIR $HOME/MuttMail, sarà
Procmail a creare tutti i file di mailbox necessari in questa directory
utilizzando i nomi contenuti nelle linee delle azioni. Per trovare alcuni
link utili visitate http://www.procmail.org/.
|
Adesso potete testare il file .procmailrc rilanciando il comando
fetchmail che abbiamo utilizzato precedentemente. Ricordate l'opzione -k per
mantenere la posta sul server remoto, in questo modo, la potremo recuperare
se ci servirà nuovamente
Codice 3.2: Procmail test #1 |
$ fetchmail -akv -m "/usr/bin/procmail -d %T"
|
Adesso che fetchmail e procmail funzionano, andate nella directory
$HOME/MuttMail e leggete i vostri messaggi attraverso
less o attraverso il vostro file manager.
4.
Il client email Mutt
Mutt è utilizzato per leggere e comporre email. È potente e molto
personalizzabile ma è anche piccolo ed efficiente.
Mutt supporta la lettura e la scrittura di quattro formati differenti di
mailbox: mbox, MMDF, MH e Maildir. Il tipo di mailbox da utilizzare è
rilevato automaticamente. Nel nostro caso utilizziamo il formato mbox, dove
tutti i messaggi di una mailbox sono memorizzati in un singolo file.
Mutt può anche operare con delle cartelle posizionate su un server IMAP
remoto. Si veda "Supporto IMAP" nella sezione 4.11 del manuale di Mutt
all'indirizzo http://www.mutt.org/.
Durante l'installazione mutt crea un file di configurazione globale in
/etc/mutt/Muttrc. È però necessario creare un'altro file di
configurazione, .muttrc, nella propria home directory.
Codice 4.1: Esempio di .muttrc |
# cp /etc/mutt/Muttrc ~/.muttrc
# nano -w .muttrc
set pager_context=1
set pager_index_lines=6 #mostra un mini-indice nel pager
set menu_scroll
set pgp_verify_sig=no #non mostrare il pgp nel pager
set status_on_top #metti la linea di stato in alto
set sort=threads #visualizza i messaggi per argomento nell'indice
set status_format=" %r %b %f %n Del %d Msgs %m %l %> (%P)"
set pager_format="%-10.10i %[!%a %b %d %R]"
set date_format="!%H:%M %a %d %b "
set index_format="%4C %Z %[%b%d] %-15.15F %s"
set folder_format="%2C %t %8s %d %N %f"
#set sendmail="/usr/bin/nbsmtp -d isp.net -h smtp.isp.net -f yourname@isp.net"
#set from="default-mailaddress" #imponi il tuo campo from
#set realname="myname"
set record="$HOME/MuttMail/sent" #le email inviate sono salvate qui
set delete=yes #cancella senza chiederlo
set include=yes #quota i messaggi alla risposta
set fast_reply=yes #non chiedere se devi rispondere
set beep=no #niente rumore
set markers=no #non aggiungere un "+" quando vai a capo
set confirmappend=no #non chiedere se aggiungere messaggi a mailbox esistente
set to_chars=" +TCF" #niente "L" per mail_list
set folder = $HOME/MuttMail
mailboxes =gentoo-user
mailboxes =gentoo-dev
mailboxes =gentoo-announce
mailboxes =gentoo
mailboxes =freshmeat
mailboxes =duplicates
mailboxes =default
mailboxes =friends
mailboxes =junk
mailboxes =spam
mailboxes =keep
save-hook .* =keep #la mbox di default per (s)alvare le mail è =keep
subscribe gentoo-user gentoo-dev #iscritto a queste mailing list
bind pager h display-toggle-weed #fai vedere gli header con il tasto h
# simula il vecchio menu delle url
macro index \cb |urlview\n 'call urlview to extract URLs out of a messagè
macro pager \cb |urlview\n 'call urlview to extract URLs out of a messagè
#esegui fetchmail premendo il tasto G
macro index G "!fetchmail -a -m 'procmail -d %T'\r"
macro pager G "!fetchmail -a -m 'procmail -d %T'\r"
#usato per editare .muttrc e quindi farne il source... non bisogna
#far ripartire mutt
macro generic ,sm ":source $HOME/.muttrc\r"
macro generic \cj "!rxvt -bg wheat -e joe $HOME/.muttrc\r"
#Questa è la lista degli header da togliere quando la mail viene
#visualizzata
ignore *
unignore Date To From: Subject X-Mailer Organization User-Agent
hdr_order Date From To Subject X-Mailer User-Agent Organization
##Mutt deve avere qualche colore
##questi sono per quattro livelli di testo quotato
##vengono sovrascritte le impostazioni di sistema contenute in /etc/mutt/Muttrc
#color quoted green default
color quoted1 magenta blue
#color quoted2 yellow default
#color quoted3 red default
#color signature cyan cyan
#Queste impostazioni di colori sono copiate da /etc/mutt/Muttrc.color
#commentatele se volete i colori di default contenuti in /etc/mutt/Muttrc
#Je vois la vie en rose :-)
color hdrdefault brightcyan blue
color header brightwhite blue "^from:"
color header brightwhite blue "^subject:"
color quoted brightgreen blue
color signature brightwhite blue
color indicator blue green
color error red black
mono error bold
color status black cyan
mono status bold
color tree yellow blue
color tilde brightmagenta blue
color body brightwhite blue "[-a-z_0-9.]+@[-a-z_0-9.]+"
mono body bold "[-a-z_0-9.]+@[-a-z_0-9.]+"
color body brightyellow black "^Good signature"
mono body bold "^Good signature"
color body brightwhite red "^Bad signature from.*"
mono body bold "^Bad signature from.*"
color normal white blue
color message green black
color attachment brightgreen blue
# fine del file...ma potrebbe andare avanti e avanti e avanti....:)
|
Per la cronaca, questo è semplicemente un esempio di .muttrc. Ci
sono molte più opzioni che possono essere configurate, per esempio
l'integrazione con GPG. Date un'occhiata a
http://www.dotfiles.com/index.php?app_id=27 per vedere più esempi
ed ottenere aiuto.
Adesso siete pronti per testare il vostro .muttrc.
Codice 4.2: Testare .muttrc |
$ mutt -y
|
Questo dovrebbe aprire Mutt con un menu che mostra le mailbox che avete creato
precedentemente quando avete lanciato il comando fetchmail.
Premete il tasto ? per informazioni sulla navigazione delle Mailbox in mutt.
5.
SMTP
Il passo finale consiste nel configurare nbsmtp il 'No-Brainer SMTP' usato per
mandare mail al server SMTP del vostro provider. Questa configurazione è la
più semplice di tutte, richiede solo di aggiungere una riga al vostro file
.muttrc.
domain (dominio): il dominio a cui volete che nbsmtp dica di appartenere.
Sarà quasi sempre identico a quello del vostro indirizzo di posta.
from@addr: questo è l'indirizzo di provenienza della mail che volete che
nbsmtp annunci. Notate che questo indirizzo può essere diverso dal campo
"From:" (Da) nel vostro Mail User Agent (in questo caso... Mutt).
host: Questo è il server SMTP a cui state mandando le email.
Codice 5.1: Aggiungere il supporto SMTP |
$ nano -w .muttrc
set sendmail="/usr/bin/nbsmtp -d isp.net -h smtp.isp.net -f urname@isp.net"
|
Adesso siete pronti per ricevere e mandare messaggi. Nel pager oppure
nell'indice di mutt premete il tasto m e componete un messaggio di
prova da mandare al vostro indirizzo di posta elettronica. Mutt utilizzerà il
valore di EDITOR o quello di VISUAL per lanciare l'editor per la composizione
del messaggio, questo nel caso non abbiate settato la variabile
editor= nel file .muttrc. Quando avrete finito con la
composizione del messaggio premete il tasto y per inviare il vostro
messaggio. Se non ci sono errori apparirà il messaggio 'invio della posta in
corso' seguito da 'Posta inviata'.
Ricordate che in .muttrc abbiamo impostato dove salvare la posta
inviata con set record="$HOME/MuttMail/sent".
Adesso, per completare il test, eseguite di nuovo fetchmail per ricevere
tutta la vostra posta e verificate se avete ricevuto il messaggio che avete
appena spedito al vostro indirizzo. Quando trovate il vostro messaggio di
prova premete il tasto h per visualizzare tutti gli header e vedere
tutto il percorso di trasferimento seguito dalla vosta mail.
Nota:
C'è probabilmente un altro programma che vorrete installare: urlview. Questo
tool estrae gli URL dai messaggi di posta e li invia al vostro browser.
|
Codice 5.2: Installare urlview |
# emerge urlview
|
create quindi il file ~/.urlview copiandolo da
/usr/share/doc/urlview*/ e impostate il comando usato per lanciare
il browser.
Adesso avete un potente ed altamente personalizzabile sistema di posta
elettronica. Per sfruttarne al meglio la flessibilità si consiglia di
leggere i manuali e la documentazione disponibile e di cercare sul web
esempi di configurazione dei file .procmailrc e
.muttrc.
6.
SMTP autenticati
Usare nbSMTP
Se il tuo server SMTP richiede l'autenticazione tramite 'nome utente' e
'password', devi modificare set sendmail nel file .muttrc
includendo -U <nome utente> -P <password>, come in questo
esempio:
Codice 6.1: Impostare 'nome utente' e 'password' per l'autenticazione SMTP |
set sendmail="/usr/bin/nbsmtp -U nome utente -P password -d isp.net -h smtp.isp.net -f urname@isp.net"
|
Se preferisci che queste informazioni non siano presenti in
.muttrc, puoi inserirle nel file .nbsmtprc (che va
creato) in questo modo:
Codice 6.2: Esempio di ~/.nbsmtprc |
auth_user = nome utente
auth_pass = password
|
Alternativa: usare msmtp
msmtp è una semplice alternativa a nbsmtp con funzionalità
molto simili.
Codice 6.3: Installare msmtp |
# emerge msmtp
|
Dopo aver effettuato il login come utente normale, per configurare msmtp è
necessario inserire le impostazioni del server SMTP nel file
~/.msmtprc (che va creato). Ricordati di impostare i permessi di
questo file in regime di sicurezza.
Codice 6.4: Configurare msmtp |
$ nano -w .msmtprc
account default
host smtp.your_provider.net
from your_username@provider1.net
auth login
user your_username
password your_password
#tls
|
Come già detto, si devono impostare i permessi del file in modo adeguato, in
questo modo:
Codice 6.5: Impostare i permessi del file di configurazione |
$ chmod 600 .msmtprc
|
Infine, aggiungi questa linea al file .muttrc:
Codice 6.6: Usare msmtp con Mutt |
$ nano -w .muttrc
set sendmail="/usr/bin/msmtp"
|
Avvia mutt e inviati una email di prova per vedere se tutto funziona
corretamente. Per altri esempi di configurazione consulta le pagine man di
msmtp.
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|