Questo è un file di configurazione abbastanza generico, può essere usato così com'è, perché le parti variabili (le regole di smistamento) sono contenute in altri file (elencati alla fine di questo) che vengono richiamati da questo principale:
=== file: .procmailrc ===
#directory MAILDIR = $HOME/Mail # ASSICURATI CHE ESISTA! Le email finiranno qui! PMDIR = $MAILDIR/.Pm # crea anche questa dir PMSRC = $PMDIR DUMMY=`test -d $MAILDIR || mkdir $MAILDIR` DUMMY=`test -d $PMDIR || mkdir $PMDIR` DUMMY=`test -d $MAILDIR/Sent || mkdir $MAILDIR/Sent` DUMMY=`test -d $MAILDIR/Read || mkdir $MAILDIR/Read` #varie SHELL=/bin/sh LINEBUF=8192 PATH=$HOME/bin:/bin:/usr/bin:/usr/local/bin DEFAULT=$MAILDIR/IN.default # mailbox di default per le email in entrata. Qui finiscono # le email che non sono elaborate o smistate prima da qualche regola adatta. # Se non definito, in generale le email finiscono in /var/spool/mail/nomeutente. DUMMY=`test -f $DEFAULT || touch $DEFAULT` # crea lo spool principale se non esiste FORMAIL=/usr/bin/formail # path di formail, usato per processare alcune email SENDMAIL=/usr/sbin/sendmail # path di sendmail #log VERBOSE = yes # impostare a no dopo il debug LOGABSTRACT = all # produce log MOLTO estesi, impostare a no in seguito LOGFILE = $PMDIR/pm.log # file di log # variabili utili (possono essere usate nelle regole per abbreviarne la scrittura, # ad esempio come $NomeVariabile) NL = " " # nuova linea (un invio tra "") WSPC = " " # blank: spazio + tab SPC = "[$WSPC]" # Regexp: spazio + tab SPCL = "($SPC|$)" # spazio o tab o nuova linea NSPC = "[^$WSPC]" # NON spazio o tab s = $SPC # abbreviazione: come in Perl \s d = "[0-9]" # una cifra -- Perl \d w = "[0-9a-z_A-Z]" # una parola alfanumerica -- Perl \w W = "[^0-9a-z_A-Z]" # NON una parola alfanumerica -- Perl \W a = "[a-zA-Z]" # una parola, solo alfabetica # imposta la variabile DATE come "mese_esteso-anno" # attenzione, gli apici sono inversi, quindi ALT-GR piu' l'apice normale! DATE = `date +%B-%Y` #file .rc aggiuntivi INCLUDERC = $PMDIR/general.rc INCLUDERC = $PMDIR/lists.rc INCLUDERC = $PMDIR/autoreply.rc INCLUDERC = $PMDIR/friends.rc INCLUDERC = $PMDIR/spam.rc # attivate 1 solo di questi filtri antispam #INCLUDERC = $PMDIR/spam2.rc |
Per usare procmail, dovete istruire i programmi a richiamarlo. Per Fetchmail e Postfix potete trovare le istruzioni nelle relative sezioni del Quick&Easy Configuration HOWTO (si tratta di un rigo per parte), mentre per Sendmail, dovrete creare il file .forward nella vostra directory HOME (questo passo non è necessario se procmail è il gestore locale di default per lo smistamento, come nel caso di Redhat e distribuzioni derivate):
=== file: .forward ===
"| IFS=' ' && p=/usr/bin/procmail && test -f $p && exec $p -f- || exit 75 #mrshark" |
Ricordatevi di sostituire a mrshark il vostro nome di login, e copiate esattamente come vedete, comprese virgolette e apici! In alcuni sistemi potrebbe essere richiesto che il file sia leggibile da tutti e la vostra directory HOME sia attraversabile. Date i comandi seguenti (quello relativo al .procmailrc serve a prevenire che il file venga ignorato dall'MTA, infatti se ha permessi 666 postfix lo ignora e invia la posta in /var/spool/mail/nomeutente):
cd chmod 644 .forward chmod 644 .procmailrc chmod a+x . |
Per controllare i file di log, potete usare lo script mailstat che viene fornito con procmail. Il suo uso è molto semplice, basta avviarlo fornendo come argomento il path del file di log (l'esempio seguente si riferisce alla configurazione impostata nel file .procmailrc precedente): mailstat $HOME/Mail/.Pm/pm.log
mailstat fornisce un rapporto sulle email arrivate e smistate a partire dalla volta precedente in cui è stato lanciato lo stesso mailstat: infatti esso dopo l'uso rinomina il file di log precedente con estensione .old e ne ricrea uno vuoto. Avete quindi anche un metodo per tenere entro dimensioni accettabili il file di log, richiamando mailstat! Comunque, dopo aver testato procmail, è utile ridurre i log, impostando VERBOSE=no e LOGABSTRACT=no in .procmailrc.