The Fool

Mettre en place un filtre antispam (bogofilter)

Installer bogofilter

# apt-get install bogofilter

Phase d'entrainement

  • Créer les dossiers IMAP nécessaires
maildirmake -f Junk Maildir
maildirmake -f Junk.MissedSpam Maildir
maildirmake -f Junk.FalseSpam Maildir
maildirmake -f Junk.Unsure Maildir
  • Créer le premier corpus d'entraînement
bogofilter -s -B ~/Maildir/.Junk.Training/
bogofilter -n -B ~/Maildir/
  • Mettre en place le filtrage dans ~/.procmailrc (sans mise à jour automatique)
# Preliminaires
SHELL=/bin/bash
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR
ORGMAIL=$MAILDIR
LOCKFILE=$HOME/lockfile.lock
ASSASSINLOCK=$HOME/assassin.lock
DEFAULT=$HOME/Maildir/
JUNKMAIL=$HOME/Maildir/.Junk/
UNSUREMAIL=$HOME/Maildir/.Junk.Unsure
TRASH=$HOME/Maildir/.Trash
BITBUCKET=/dev/null
LOGFILE=/var/log/procmailrc.log
#VERBOSE=no
#LOGABSTRACT=all

:0fw
|bogofilter -e -p

:0e
{ EXITCODE=75 HOST }

:0
* ^X-Bogosity: Unsure, tests=bogofilter
$UNSUREMAIL

:0
* ^X-Bogosity: Spam, tests=bogofilter
$JUNKMAIL
  • Mettre à jour le corpus sur erreur
bogofilter -s -B ~/Maildir/.Junk.MissedSpam
bogofilter -n -B ~/Maildir/.Junk.FalseSpam

Phase de production (entraînement automatique)

Fichier ~/.procmailrc

# Preliminaires
SHELL=/bin/bash
MAILDIR=$HOME/Maildir/
DEFAULT=$MAILDIR
ORGMAIL=$MAILDIR
LOCKFILE=$HOME/lockfile.lock
ASSASSINLOCK=$HOME/assassin.lock
DEFAULT=$HOME/Maildir/
JUNKMAIL=$HOME/Maildir/.Junk/
UNSUREMAIL=$HOME/Maildir/.Junk.Unsure
TRASH=$HOME/Maildir/.Trash
BITBUCKET=/dev/null
LOGFILE=/var/log/procmailrc.log
#VERBOSE=no
#LOGABSTRACT=all

:0fw
|bogofilter -u -e -p

:0e
{ EXITCODE=75 HOST }

:0
* ^X-Bogosity: Unsure, tests=bogofilter
$UNSUREMAIL

:0
* ^X-Bogosity: Spam, tests=bogofilter
$JUNKMAIL

Sources