Voici une méthode pour l'installation de SpamAssassin (site-wide) avec XMail sous Debian GNU/Linux (Etch).

Pré-requis: XMail configuré et fonctionnel, minimum 20 e-mails légitimes et 20 spams pour le filtrage bayésien.

Installation des packages

apt-get install spamassassin spamc libmailtools-perl libhtml-format-perl libmail-spf-query-perl libnet-dns-perl

Activation du démon

nano /etc/default/spamassassin
ENABLED=1
/etc/init.d/spamassassin start

Vérification du log

tail /var/log/mail.log

Ce qui devrait renvoyer entre autres:

spamd: server successfully spawned child process, pid ...

Création du user spamassassin

groupadd spamassassin
useradd -d /var/lib/spamassassin -g spamassassin -m spamassassin

Vérification du bon fonctionnement de spamc

su - spamassassin
spamc < /usr/share/doc/spamassassin/examples/sample-spam.txt

spamc -c < /usr/share/doc/spamassassin/examples/sample-spam.txt
1000.0/5.0

Vérification du log

tail /var/log/mail.log
spamd: setuid to spamassassin succeeded
spamd: identified spam (1000.0/5.0)

Customisation

nano .spamassassin/user_prefs

bayes_auto_learn                0
use_bayes                       1
bayes_min_ham_num               20
bayes_min_spam_num              20
score BAYES_60                  4
score BAYES_70                  5
score BAYES_80                  6
score BAYES_90                  7
score BAYES_99                  8
use_auto_whitelist              0

Création des répertoires pour la catégorisation

On utilisera les rép. ham et spam pour l'apprentissage du filtre bayésien.
Dans les rép. black et white seront enregistrés les listes d'adresses IP black/white/listées.

mkdir ham
mkdir spam
mkdir black
mkdir white

Apprentissage du filtre bayésien

Copier dans ham les messages légitimes, dans spam les spams.

sa-learn --ham ham
sa-learn --spam spam
rm -f ham/*
rm -f spam/*

Installation des filtres pour XMail



Copier XMSpamPre et XMSpamPost dans /usr/sbin

nano /etc/xmail/filters.pre-data.tab
"/usr/sbin/XMSpamPre"	"@@REMOTEADDR" (+RETURN)

nano /etc/xmail/filters.post-data.tab
"/usr/sbin/XMSpamPost"	"@@FILE"	"@@REMOTEADDR" (+RETURN)
chmod a+x /usr/sbin/XMSpamPre /usr/sbin/XMSpamPost
/etc/init.d/xmail restart

Et voilà!