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 spam@server.tld
schicken. (Und zwar als Anhang! Ganz wichtig!)
Der Email-Server nimmt diese Mail entgegen, gibt sie an procmail
weiter, dieser reicht sie dann an sa-wrap.pl
durch, der dann den Anhang an sa-learn
füttert.
Man beachte: Der Anhang wird verfüttert, nicht die ganze Email!
Vorraussetzung:
sa-learn
ist bereits entsprechend konfiguriert und aktiv.
1.)
Es werden entsprechende Emailadressen gebraucht. Ich nenne sie mal spam@server.tld
und ham@server.tld
.
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 sa-wrap.pl
zu einem Fehler kommt, dann versucht die neuere Version sa-wrapper.pl
.
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 /var/log/sa-learn.log
mit verfolgen.
Achtung: entweder Logrotate für die 2 Dateien einschalten, oder, wenn alles funzt einfach verbose
, logfile
und debug
in den Dateien auskommentieren.
Fehlersuche:
In /var/log/procmail.log
. 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