ACHTUNG: Plesk/Qmail-User finden hier ein angepaßtes HowTo: Plesk: sa-learn per Email füttern
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 gekürzt ohne das Copyright zu entfernen und eine brauchbare Installationsanleitung geschrieben.)
Erklärung:
Wir wollen aus unserem Email-Client eine nicht erkannte Spam-Mail per Forward/Weiterleiten an <code>spam@server.tldcode> schicken. (Und zwar als Anhang! Ganz wichtig!)
Der Email-Server nimmt diese Mail entgegen, gibt sie an <code>procmailcode> weiter, dieser reicht sie dann an <code>sa-wrap.plcode> durch, der dann den Anhang an <code>sa-learncode> füttert.
Man beachte: Der Anhang wird verfüttert, nicht die ganze Email!
Vorraussetzung:
<code>sa-learncode> ist bereits entsprechend konfiguriert und aktiv.
1.)
Es werden entsprechende Emailadressen gebraucht. Ich nenne sie mal <code>spam@server.tldcode> und <code>ham@server.tldcode>.
Der Server muß so präperiert sein, daß er diese Emails annimmt und auf ein lokales Postfach legen will.
2.)
Wir brauchen das folgende Script unter /usr/local/bin/sa-wrap.pl (und zwar ausführbar als 755). (Download siehe unten.)
Achtung: wenn <code>sa-wrap.plcode> zu einem Fehler kommt, dann versucht die neuere Version <code>sa-wrapper.plcode>.
3.)
Wir brauchen eine /etc/procmailrc (Domain-Namen ändern!) bzw. als Ergänzung dazu:
#alte Versionen von procmail: verbose=yes #neue Versionen von procmail: VERBOSE=ON LOGFILE=/var/log/procmail.log :0 * ^To: spam@server.tld { :0fw | /usr/local/bin/sa-wrap.pl --spam :0 /dev/null } :0 * ^To: ham@server.tld { :0fw | /usr/local/bin/sa-wrap.pl --ham :0 /dev/null }
4.)
Die Logfiles und das unpack-Verzeichnis muß man evtl. mit der Hand anlegen, da dem MTA evtl. die nötigen Rechte fehlen:
touch /var/log/procmail.log chown root:mail /var/log/procmail.log chmod 775 /var/log/procmail.log touch /var/log/sa-learn.log chown root:mail /var/log/sa-learn.log chmod 775 /var/log/sa-learn.log mkdir /var/spool/unpack chown root:mail /var/spool/unpack chmod 775 /var/spool/unpack
Fertig
Nun könnt Ihr alle Spams und Hams als Anhang an die jeweilige Emailadresse schicken und der SA lernt!
Den Erfolg kann man dann in <code>/var/log/sa-learn.logcode> mit verfolgen.
Achtung: entweder Logrotate für die 2 Dateien einschalten, oder, wenn alles funzt einfach <code>verbosecode>, <code>logfilecode> und <code>debugcode> in den Dateien auskommentieren.
Fehlersuche:
In <code>/var/log/procmail.logcode>. Wenn dort nichts steht, dann sucht erstmal im maillog nach 'procmail'-Fehlern.
Download:
sa-wrap.pl (als gzip)
neuere Version: sa-wrapper.pl (als gzip).
Diskussion:
Bitte im Server-Support-Forum