De l’utilisation de /etc/procmailrc ou ~/.procmailrc

L’idée de ce post est de présenter un ~/.procmailrc commenté:

#BOF
#Constantes
DATE=`date +%Y-%m`
#Emplacement du dossier ou les mails seront délivrés
MAILDIR=$HOME/Maildir
#Emplacement ou le mail est sauvegardé en dernier ressort en cas de problème
ORGMAIL=$HOME/Maildir
#Mails sans importance (publicités…)
JUNKMAIL=.Junk/
#Répertoire dans lequel on stocke les .lock de formail, procmail…
HOMEMAIL=$HOME/Mail
#Log de procmail
LOGFILE=/tmp/$LOGNAME-procmail.log
#Mode volubile
VERBOSE=on
#Fichiers de white/black list permettant de whitelister/blacklister un domaine/expéditeur
WHITE_LIST=$HOME/.white-list
BLACK_LIST=$HOME/.black-list
#Fichier inclus (comme un include en PHP par exemple)
INCLUDERC=$HOME/.procmailinclude
#Permet de stopper le traitement si la machine ne s’appelle pas gw (utile en cas de montage de $HOME à travers NFS)
HOST=gw

########## Traitements procmail #########

#On déplace les mails ayant des “charset” très peu utilisés en europe de l’ouest dans le dossier Spam

UNREADABLE=’[^?"]*big5|iso-2022-jp|ISO-2022-KR|euc-kr|gb2312|ks_c_5601-1987′
:0:
* 10 $ ^Subject:.*=\?($UNREADABLE)
* 10 $ ^Content-Type:.*charset=”?($UNREADABLE)
.Spam/

:0:
* ^Content-Type:.*multipart
* B?? $ ^Content-Type:.*^?.*charset=”?($UNREADABLE)
.Spam/

#Si l’expéditeur est dans la whitelist, on ajoute un entete X-Whitelist positionné à Yes

:0
* ? formail -x”From” -x”From:” -x”Sender:” | egrep -is -f $WHITE_LIST
{
:0 fwh
| formail -a”X-Whitelist: Yes”
}

#Tag des mails grâce à bogofilter & Razor (On ne traite que les mails de moins de 128ko)
:0fw
* < 128000
| bogofilter -upelv

:0e
{ EXITCODE=75 HOST }

:0Wc
* < 128000
* ^X-Bogosity: Unsure.*
| razor-check
#On marque les spams reconnus par razor par un header X-Razor-Spam
:0af
| formail -A “X-Razor-Spam: YES”

#Tag des spams reconnus par razor par un sujet ****SPAM****
:0
* ^X-Razor-Spam: YES
{
SUBJECT=`formail -zxSubject:`

:0fhw
| formail -I”Subject: ****SPAM**** $SUBJECT”
}

#Si un mail a été détecté comme spam et que l’expéditeur est dans la liste blanche, alors le faire réapprendre comme courrier sollicité (Ham)

:0c
* ^X-Bogosity: Yes
* ^X-Whitelist: Yes
| bogofilter -Nl

#Si le mail a été détecté comme spam alors le déplacer dans le dossier adéquat.
:0
* ^X-Bogosity.*spamicity=1\.0
$JUNKMAIL
:0
* ^X-Bogosity.*spamicity=0\.9[56789]
$JUNKMAIL
:0
* ^X-(Spam-Flag|Razor-Spam): YES
$JUNKMAIL

#Emettre un bip si le mail est destiné à la boite principale
BEEP=`/usr/bin/beep -f 1000 -n -f 2000 -n -f 1500`

This entry was posted in Anti Spam, Procmail. Bookmark the permalink.

Comments are closed.