Differenze tra le versioni di "Posta a manovella"
Da MontelLUG WIKI.
m (corretta regex) |
m (→Mutt) |
||
Riga 124: | Riga 124: | ||
ignore * | ignore * | ||
unignore From: Reply-To To Cc Subject Organization Date X-Mailer Lines User-Agent | unignore From: Reply-To To Cc Subject Organization Date X-Mailer Lines User-Agent | ||
− | hdr_order From: Reply-To | + | hdr_order From: Reply-To X-Mailer User-Agent Organization Date Cc To Subject Lines |
# dove salvare posta inviata | # dove salvare posta inviata |
Versione delle 15:30, 20 lug 2005
Menu | ||
---|---|---|
MontelLUG frontpage | ||
Aiuto: Come modificare le pagine | ||
Torna indietro |
Vediamo una classica configurazione della posta per una macchina casalinga con
connessione dial-up fatta su una macchina Debian.
Useremo i seguenti strumenti: exim (il server mail predefinito Debian, ma vanno
bene tutti), fetchmail (per scaricare la posta dal proprio account), procmail
(per smistare la posta prelevata fra diverse mbox) e mutt (per leggere, scrivere
e archiviare le mail).
Exim
Innanzitutto configuriamo il server mail perché si occupi di gestire la posta
locale e perché usi il server mail del nostro provider per spedire la posta
esterna.
Questo va fatto perché molti siti rifiutano la posta da "sconosciuti" perché
potenziale spam e perché altrimenti una mail da 1 Mb spedita a 10 persone
ruberebbe 10 Mb della nostra banda, anziché 1...
Digitare:
# dpkg-reconfigure exim4-config
e scegliere come Tipo di configurazione del sistema di posta il valore
posta inviata tramite uno smarthost; ricevuta via SMTP o fetchmail
e quando chiede di inserire il nome host del sistema a cui viene inviata la
posta in uscita mettere il proprio server smtp (per es. mail.provider.it).
Alle altre domande lasciare il valore di default.
A questo punto possiamo spedire mail interne agli utenti del nostro computer (noi compresi), cosa utile il piú delle volte perché molti programmi di controllo usano le mail per notificare errori o paranoie varie.
Fetchmail
Il fetchmail si occupa di prendere la posta dal nostro account mail da qualche parte e rispedirla al nostro utente locale passandola all'exim. Si può fare un file di configurazione globale in cui ci sono gli account di tutti gli utenti del computer in modo che vengano prelevate le mail di tutti in un colpo solo o un file per ogni utente che dovrà arrangiarsi a lanciare il fetchmail.
Vediamo entrambe le configurazioni nel caso di un protocollo POP3
File locale
Basta creare un file nella propria home chiamato .fetchmailrc cosí fatto:
set bouncemail set no spambounce set properties "" poll popmail.provider.it with proto POP3 user 'nome-esterno' there with password 'pippo' is 'nome-locale' here options fetchall
Volendo si può usare il programma fetchmailconf che lo genera automaticamente dopo qualche domanda...
A questo punto basta scrivere
$ fetchmail
perché il programma si occupi di scaricare la posta di nome-esterno@provider.it e rispedirla all'utente nome-locale. Digitando invece
$ fetchmail -d 120
Il programma rimarrà in memoria e controllerà la posta automaticamente ogni 120 secondi.
File globale
In Debian basta creare un file di configurazione simile al precedente chiamato
/etc/fetchmailrc perché automaticamente venga scaricata tutta la posta degli
utenti ogni 5 minuti.
Per ulteriori dettagli si guardi in /usr/share/doc/fetchmail, che contiene anche
un esempio di fetchmailrc...
Procmail
A questo punto dobbiamo decidere in quali file o directory organizzare la nostra
posta e dire al procmail di smistarla per noi in base ad alcune semplici (o
complicatissime) regole.
Procmail viene eseguito automaticamente ogni volta che ci arriva della posta e,
se opportunamente configurato, si occupa di smistare la posta.
Vediamo un esempio
Immagianiamo di voler memorizzare le mail in diverse caselle in formato mbox
nella cartella ~/Mail, a seconda se appartengano o no a qualche mailing-list o
siano spedite da qualcuno in particolare.
Creiamo con touch le seguenti mbox:
~/Mail/nuove/montellug
~/Mail/nuove/news
che procmail andrà a riempire (le mail che non rientrano in questa categoria
continueranno a stare in /var/mail/nome-locale).
Per definire le regole di smistaggio creiamo il seguente file .procmailrc:
:0: * ^Subject:.*(\[montellug\]|\[members\]|montellug\.it).*$ Mail/nuove/montellug :0: * ^From:.*(@lescienze\.it|@info\.nature\.com|science-mailer@liontamer\.stanford\.edu)\.*$ Mail/nuove/news
Le regole sono date con espressioni regolari (e strani simboletti per il procmail :) in triplette
di righe.
La prima riga :0: dice al procmail di analizzare l'header delle mail,
la seconda contiene l'espressione regolare da verificare, la terza l'mbox in cui copiare la mail
nel caso sia verificata l'espressione regolare.
In pratica basta copiare dai numerosi esempi in man procmailex per fare un po' di tutto senza addentrarsi nei meandri di man awk, man grep, man 7 regex per maneggiare le espressioni regolari.
Mutt
Adesso dobbiamo istruire il mutt, spiegandogli quali sono le cartelle da cui
arriva nuova posta e dove archiviarla.
Al solito si fa editando un file, ~/.muttrc:
# scelta e ordinamento campi header ignore * unignore From: Reply-To To Cc Subject Organization Date X-Mailer Lines User-Agent hdr_order From: Reply-To X-Mailer User-Agent Organization Date Cc To Subject Lines # dove salvare posta inviata set record='~/Mail/spedita' # default mbox set mbox='~/Mail/archivio/varie' # cartella posta set folder='~/Mail' # mbox di arrivo mail mailboxes '~/Mail/nuove/montellug' mailboxes '~/Mail/nuove/news' mailboxes '/var/mail/nome-locale' # dove archiviare le mail mbox-hook '~/Mail/nuove/montellug' '~/Mail/archivio/montellug' mbox-hook '~/Mail/nuove/news' '~/Mail/archivio/news'
Adesso lanciando mutt -y (magari dando un alias mutt="mutt -y") ci troviamo
davanti la lista delle mailbox di ingresso posta, con segnate quelle con nuove
mail.
Premendo tab si naviga invece nella directory Mail per aprire le mbox di
archivio...
Buon divertimento :)