[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: postfix, fetchmail e procmail



Il dom, 2004-07-04 alle 18:04, Fabio Marzocca ha scritto:
> Sto studiando la "tripla" Postfix, Fetchmail e Procmail.
> 
> Installato Postfix. Provato a inviare mail (avendo configurato l'SMTP 
> del mio ISP), funziona tutto.
> 
> Installato Fetchmail. Configurando un accont esterno POP3, fetchmail lo 
> scarica e lo consegna all'user. Tutto ok.
> 
> Ora è il problema. Vorrei filtrare i messaggi in base al subject. Ho 
> scritto il mio .procmailrc nella directory dell'utente in questione, ma 
> non ho idea di come settare Postfix afficnchè usi i filtri di Procmail 
> all'arrivo di una mail per quell'utente.
> 
> Un aiutino?? Grazie.


Quello che segue è tratto dal Quick&Easy configuration HowTo di Antonio
fragola

> # backup di tutte le email in ingresso
# N.B.: se si vuole un backup compresso, sostituire con quanto segue,
senza # iniziale
:0c:
|gzip -9fc >> .backup.gz
#:0c:
#.backup

# corregge possibili header from errati
:0fhw:
| $FORMAIL -I "From " -a "From "

# emimina i messaggi doppi, copiandoli per sicurezza in un file apposito
:0Whc:msgid.lock
| $FORMAIL -D 8192 $PMDIR/msgid.cache
:0a:
.duplicati

:0:
* ^TO_root
IN.admin

#correzione vecchi messaggi pgp
:0
* !^Content-Type: message/
* !^Content-Type: multipart/
* !^Content-Type: application/pgp
{
        :0 fBw
        * ^-----BEGIN PGP MESSAGE-----
        * ^-----END PGP MESSAGE-----
        | formail -i "Content-Type: application/pgp; format=text;
x-action=encrypt"
 
        :0 fBw
        * ^-----BEGIN PGP SIGNED MESSAGE-----
        * ^-----BEGIN PGP SIGNATURE-----
        * ^-----END PGP SIGNATURE-----
        | formail -i "Content-Type: application/pgp; format=text;
x-action=sign"
}

# corregge indicatori di firme errati (maledetto outlook...)
:0 fBw
* ^--$
| sed -e 's/^--$/-- /'

# corregge prefissi di risposta errati (sempre sia maledetto outlook...)
:0 fHw
* ^Subject:.*R:
| sed -e 's/R:/Re:/g'

# "impipa" a Little Brother DataBase per conservare
# gli indirizzi email di chiunque mi scriva
:0hc
| lbdb-fetchaddr
     

 


Nota: Il flag f permette di considerare la pipe seguente come un filtro;
il flag h impone che siano inviati anche gli header in pipe; il flag w
impedisce che il file di lock sia rilasciato fino a quando il comando in
pipe non ha concluso il suo processo. Il flag c permette di far
proseguire l'email attraverso il flusso delle regole successive. Quindi
in questo caso, essendo la prima regola, TUTTE le email saranno copiate
per backup nel file indicato, dopo di che continueranno ad attraversare
le altre regole, fino a incontrarne un'altra che effettuerà un confronto
positivo (eventualmente facendola proseguire anch'essa con un flag c), e
quindi togliendola dal flusso, o finiranno nello spool principale nel
caso contrario. Il flag W ha lo stesso comportamento di quello w, ma non
invia messaggi di avvertimento sullo schermo ("Program Failure"). Infine
il flag a, permette di eseguire un comando SOLO se la regola
IMMEDIATAMENTE precedente ha avuto esito positivo (quindi in questo caso
se viene trovato un messaggio doppio, viene accodato a ".duplicati"). La
macro "TO_" viene spiegato tra poco. Le ultime regole correggono alcuni
messaggi che potrebbero risultare errati (vecchi pgp, outlook...), e
conservano gli indirizzi nell'archivi di LBDB, un programma che consente
di raccogliere informazioni sui mittenti.

 

=== file: lists.rc ===

 

DUMMY=`test -d $MAILDIR/Lists || mkdir $MAILDIR/Lists`

:0:
* ^TO_procmail@informatik.rwth-aachen.de
Lists/ML-procmail

:0:
* ^TO_vim@vim.org
Lists/ML-vim-$DATE
     

 


Nota: TO_ è una macro predefinita di procmail che intercetta un
indirizzo email fra gli header destinazione (To, Cc, Resent-To, ecc.).
Va scritto ESATTAMENTE come lo vedete (* ^TO_indirizzo@email),
rispettando spazi e maiuscole. Non inserite simboli < o >. Altre
informazioni all'interno di man procmailrc.

 

Suggerimento: Inserite le regole per le mailing-list più trafficate
all'inizio di lists.rc, in modo che i messaggi vengano elaborati prima e
attraversino meno regole, velocizzando il processo.

 

Nota: Il secondo esempio invece suddivide le email anche in base a mese
e anno (la variabile DATE è impostata in .procmailrc), il tutto in
automatico (mese e anno sono quelli dello smistamento, NON dell'invio
dagli autori alla mailing-list!) !

 

Le email da mailing-list finiscono in una directory apposita, che viene
creata in automatico se non esiste.





Reply to: