ISPConfig 3 Clients lernen Spam mit SpamAssassin

Author: Alexander Fox

Create: 26/03/10

Version 1.0

Folge mir auf Twitter oder Diese Seite   zu Mister Wong hinzufügen Folge mir auf Mr Wong
Original: HowTo von HowToForge user bswinnerton
Dieses kurze Howto erklärt den Weg um das Lernen von Spam bei allen E-mail Clients die in ISPConfig3 angelegt sind über ein simples Kommando. Bitte beachte diese Lösung gilt nur für ISPConfig 3 , nicht für ISPConfig 2. Ich bedanke mich beim Original Autor  für das englische Howto. Ich habe für dieses HowTo Debian Lenny verwendet, bin aber überzeugt dass dieses Howto auf Ubuntu oder anderen Distributionen genauso funktioniert.

Ich übernehme keine Gewährleistung dafür dass es bei Dir genauso funktioniert!

 

1. Schritt script erstellen

Wir starten damit ein neues file anzulegen unter /bin zum Beispiel sa_learn . Dies muss als user root geschehen.

Du kannst folgenden Code in diese Datei kopieren und speichern:

#!/bin/bash
/usr/bin/sa-learn --spam /var/vmail/*/*/.Junk/*
/usr/bin/sa-learn --ham /var/vmail/*/*/cur/*

Der erste Teile des script ist unser erstelltes script /usr/bin/sa-learn dass die Emails im Order .Junk als Spam erkennen lernt mit dem Zusatzbefehl --spam . In der Zeile darunter steht am Anfang wieder der Aufruf des Scripts sa-learn, jedoch mit dem Zusatzbefehl --ham . Dies bedeutet dass der Filter nun lernen soll, dass die Emails die unter /var/vmail/*/*/cur/* liegen, nicht als Spam sortieren soll.

Ich will den Unterschied zwischen den Worten Spam und Ham als böse Emails und gute Emails bezeichnen.

Bitte beachte:

Der Junk Ordner wird beim Anlegen der Mailbox erstellt. Das ist aber erst ab 3.0.2 so, wenn die Mailbox mit einer älteren Version angelegt wurde, wird der Ordner erstellt sobald etwas an der Mailbox geändert wurde im ISPConfig 3 Backend .

Nachdem du die Datei gespeichert hast, musst du das Script ausführbar machen mit folgendem Befehl:

chmod o+x /bin/sa_learn

 

2. Script ausführen

Nun kannst du das Script ganz einfach über die Kommandozeile ausführen mit dem Befehl:

sa_learn

Danach wird spam and ham gelernt. Dies kann einiges Zeit beanspruchen wenn das ganze fertig ist sollte eine änliche Meldung danach auftauchen bei euch

Learned tokens from 4 message(s) (8 message(s) examined)
Learned tokens from 1063 message(s) (1551 message(s) examined)

3. Links

Original Howto: HowToForge.com
Projektseite: SpamAssassin Webseite

5 Kommentar(e)

Zum Posten von Kommentaren bitte

Kommentare

Von: Jan

und alle Spam E-Mails, welche nicht als Spam erkannt wurden werden zur "Ham-Liste" hinzugefügt...toller Spamfilter


Von: andreea

Spam ist irgendwie auch ham, super Wortspiel in der Tat :-) Ich denke aber man versteht dass sortiert wird, oder?


Von: GTB

Für Dovecot muss zusätzlich noch der Ordner Maildir angegeben werden, also so:

/usr/bin/sa-learn --spam /var/vmail/*/*/Maildir/.Junk/{cur,new}


Von: suther

Interessanter Artikel. Nur eins gibt mir zu denken: Was ist, wenn 10 User die "******"-Spam-Mail in den Junkfolder verschieben, aber 20 Leute nicht?
Dann würde nach deinem Beispiel diese Mail als SPAM und HAM erfasst?!
Gibt es Erfahrungen dazu, wie das Resultat in diesem Fall ist?


Von: suther

Ach so, noch eine Anmerkung. Solange der User den Junkordner nicht leert, bleiben die Malis darin und werden jedesmal wieder erfasst.
Wäre es nicht besser, in das Script die Funktion einzubringen, dass erfasste Mails dann entfernt werden?
Das schont zum einen den Speicherplatz des Users, zum anderen weiß der User dann, dass seine Spam-Meldungen erfasst und verarbeitet wurden.