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.