[Postfixbuch-users] SpamAssassin auf Server trainieren?

Sven 'Rae the Git' Grounsell sven at tuxhilfe.de
Do Sep 23 18:12:59 CEST 2004


Heiner Lamprecht <heiner at heiner-lamprecht.net> wrote:

> Hallo zusammen,
> 
> ich habe hier eine Kombination aus Postfix, amavisd-new, 
> Spamassassin und Cyrus IMAP am Laufen.  Die User haben keinerlei 
> Shellzugriff und demnach auch kein $HOME.
> 
> Nun möchte ich aber gerne den Usern die Möglichkeit geben, entweder 
> für sie privat, oder ggf. für alle den Spamassassin zu trainieren.  
> Was wäre Eurer Meinung nach der geschickteste Weg dafür?

Ich habe auf meinem privaten (!) Mailserver die "fuer alle"-Loesung:

Zugriff erfolgt fuer die User per Courier-IMAP. Jeder User hat die
Moeglichkeit, einen Unterordner namens "spam" zu erstellen und dort
alle False Negatives (-> nicht erkannter SPAM) abzulegen.
Ein CronJob fuehrt dann (aufgrund begrenzter Ressourcen, die tagsueber
dringend benoetigt werden) nachts folgendes Script aus:

#------------------------------------------------------------#
#!/bin/sh
# Verzeichnis-Struktur der IMAP-Accounts:
# /usr/local/virtual/user at domain.tld/.unterordner/cur/

# Pfadmaske fuer die SPAM-Verzeichnisse
SPAM_FND_PATH="/usr/local/virtual/*/.spam/cur/"

# Finde heraus, in wessen SPAM_Verzeichnis es tatsaechlich etwas zu
# tun gibt und extrahiere den/die Pfad/e
SPAM_DIRS=`find $SPAM_FND_PATH -type f -exec dirname {} \; | uniq`

# Jage sa-learn ueber jedes Verzeichnis und loesche nach Beendigung
# den erlernten Inhalt 
for DIR in $SPAM_DIRS; do
        DIR="${DIR}/"
        sa-learn --spam $DIR && rm -f ${DIR}*
done
#------------------------------------------------------------#

(Das geht mit Sicherheit eleganter, aber es funktioniert ;o))

Mit ein paar kleinen Anpassungen kann man damit auch per-User die
BayesDB pflegen.

Gruss,
Sven

-- 
http://www.tuxhilfe.de/
sven at tuxhilfe dot de



Mehr Informationen über die Mailingliste Postfixbuch-users