Vorwort:

Dieses HowTo basiert auf meine HowTo's SpamAssassin: sa-learn per Email füttern und Plesk/qmail: Email-Adresse an ein Script knüpfen, den passenden Thread im Server-Support-Forum und ist die Zusammenfassung von flyingoffice.

SpamAssassin filtert zu wenig Spams

Wer SpamAssassin auf seinem Server installiert hat, kennt das:
Hin und wieder (am Anfang recht häufig) kommen doch noch Spams durch.
Wie bekommt man jetzt diese Email aus seinem Mozilla/Thunderbird/KMail (habe ich einen wichtigen Client vergessen? Nö!) in sa-learn rein?

Diese Frage will ich heute klären:

(Die folgende Idee ist nicht von mir, sondern habe ich zufällig im Internet gefunden. Ich habe lediglich das Perl-Script etwas angepaßt ohne das Copyright zu entfernen.)

Erklärung:

Wir wollen aus unserem Email-Client eine nicht erkannte Spam-Mail per Forward/Weiterleiten an spam@server.tld schicken. (Und zwar als Anhang! Ganz wichtig!)
Der Email-Server (Qmail) nimmt diese Mail entgegen und reicht sie an sa-wrapper.pl weiter, der dann den Anhang an sa-learn füttert.
Man beachte: Der Anhang wird verfüttert, nicht die ganze Email!

Los gehts:

1.)
In Plesk die benötigten Emailkonten spam@domain.tld und ham@domain.tld anlegen.

2.)
Die benötigten Dateien und Verzeichnisse anlegen sowie die erforderlichen Benutzer und Rechte anlegen.

touch /var/log/sa-learn.log
chown root:popuser /var/log/sa-learn.log
chmod 644 /var/log/sa-learn.log
mkdir /var/spool/unpack
chown root:popuser /var/spool/unpack
chmod 774 /var/spool/unpack
mkdir /var/spool/spamassassin
chown root:popuser /var/spool/spamassassin
chmod 774 /var/spool/spamassassin

3.)
Die Datei /etc/mail/spamassassin/local.cf editieren und folgende Einträge vornehmen.

# Enable the Bayes system
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
bayes_path /var/spool/spamassassin/bayes
bayes_file_mode 777

4.)
Download und entpacken von sa-wrapper.pl (als gzip).

cd /usr/local/bin/
wget http://www.huschi.net/download/sa-wrapper.pl.gz
gzip -d sa-wrapper.pl.gz
chmod 755 /usr/local/bin/sa-wrapper.pl

5.)
Die Datei /var/qmail/mailnames/domain.tld/spam/.qmail editieren und folgende Einträge vornehmen:

|/var/qmail/bin/preline /usr/local/bin/sa-wrapper.pl --spam
#./Maildir/

6.)
Die Datei /var/qmail/mailnames/domain.tld/ham/.qmail editieren und folgende Einträge vornehmen:

|/var/qmail/bin/preline /usr/local/bin/sa-wrapper.pl --ham
#./Maildir/

7.)
Falls Änderungen der spamassassin/local.cf nötig waren, muß SpamAssassin neu gestartet werden:

/etc/init.d/spamd restart

Ein Neustart von Qmail schaded zwar nicht, ist aber unnötig.

Was tun, wenn es nicht läuft?

- Alle Verzeichnis- und Dateirechte überprüfen.
- $DEBUG = 1 im Wrapper setzen.
- Damit wird ein weiteres Logfile geschrieben: /tmp/spam_err.log
- Alle Logfiles überprüfen.

Kategorien:

Stichwörter:

plesk · qmail · email · spam · ham · spamassassin · sa-learn · sa-wrap · sa-wrapper · perl · script ·