Spam/Ham einsortieren und Remote Training von SpamAssassin for Windows (JAM Software)

Aus JanaWiki
Wechseln zu: Navigation, Suche

Spam/Ham einsortieren und Remote Training von SpamAssassin für Windows (JAM Software)

Dieser Artikel beschreibt die Verwendung von SpamAssassin for Windows der Fa. JAM Software GmbH zusammen mit JanaServer.
Der Artikel beschreibt im Wesentlichen dieselben Funktionen wie mein Artikel "Ham einsortieren und Remote Training von Spamassassin" (http://wiki.de.janaserver.de/index.php/Spam/Ham_einsortieren_und_Remote_Training_von_SpamAssassin), jedoch unter Verwendung der für Windows vorkompilierten Spamassassin-Version von JAM Software. Die Installation von Pearl für Windows ist damit überflüssig.

Verwendete Software

SpamAssassin for Windows kann auf der Homepage der Fa. JAM Software heruntergeladen werden, siehe WEBLINKS

Installation von PHP wird auch vorausgesetzt!

spam_sort.bat

Nach Installation von SpamAssassin for Windows wird im Installationsverzeichnis von SpamAssassin die Batch-Datei "spam_sort.bat" erstellt. Pfade in der Beispiel-Datei müssen an die eigene Installation angepasst werden.

Aufruf in Jana:
Email (Erweitert) - Benutzer - Benutzer editieren

Bei jedem Benutzer der SpamAssassin verwenden soll folgendes Einstellen:
Im Abschnitt auszuführendes Programm Haken "Programm ausführen Ja/Nein" setzen, Haken "Löschen der Email nach Programmaufruf bei Rückgabe wert von:" setzen, Rückgabewert 5 eintragen.
Kompletter Pfad zum Programm:
"C:\Program Files (x86)\SpamAssassin\spam_sort.bat" $FILE$ 0

Der zweite Übergabeparameter (die Null) wird für jeden weiteren Benutzer hochgezählt (muss für jeden Benutzer eindeutig sein).

Der erste Verwendungszweck ist direkt in der spam_sort.bat, darin wird jeder Nummer ein freier Text (username) zugeordnet, der nachher im Log auftaucht.
Der zweite Verwendungszweck ist das Einsortieren einer als Spam klassifizierten Mail in das korrekte Benutzer-Postfach. Dazu wird die Nummer an die spam.php übergeben.

deltemp.php

Wird aus der spam_sort.bat aufgerufen. Dient zum Löschen alter Temporär-Dateien, die durch Timeouts entstehen können. Pfade in der Beispiel-Datei müssen an die eigene Installation angepasst werden.

limitmailsize.php

Wird aus der spam_sort.bat aufgerufen. Dient dazu, zu große Emails von der Spamprüfung auszuschließen. Damit wird verhindert, dass große Email-Anhänge zu Timeouts führen. Spam-Mails sind selten größer als 1MB. Die Grenze liegt im Beispiel-File bei 5MB, kann aber angepasst werden.

spam.php

Wird bei erkannter Spam-Mail aus der spam_sort.bat aufgerufen. Dient dazu, erkannte Spam-Mails ins Benutzer-Postfach in den Unterordner INBOX.Spam einzusortieren. Dieser Unterordner muss bei jedem Benutzer im Postfach existieren.
Im Array $arr_users werden die Mail-Benutzer mit Passwort eingetragen. Das sind dieselben Zugangsdaten, wie das Benutzer-Mailprogramm die Emails bei Jana abholt. Der Array-Index muss mit der eindeutigen Nummer (zweiter Parameter beim Aufruf der spam_sort.bat aus Jana) übereinstimmen! Die interne Nummerierung der Benutzer in Jana ist dabei irrelevant!

Funktionsweise

Nicht als Spam erkannte Mails werden normal in den Posteingang des Benutzerpostfachs eingetragen.
Als Spam erkannte Mails werden in den Unterordner Spam des Benutzerpostfachs eingetragen. Damit hat der Benutzer selbst die Kontrolle, welche Mails aussortiert wurden. Zuviel aussortierte Mails kann er durch simples Verschieben aus dem Spamordner wiederherstellen. Nicht erkannte Spam-Mails kann er aus dem Posteingang in den Unterordner Spam verschieben.

Training mit Spam und Ham Mails

Vorbereitungen

Folgende Dateien ins HTML-Verzeichnis (oder Unterordner davon) von JANA kopieren:
class_timer.php
config.php
learn_ham.php
learn_spam.php

class_timer.php

Dient nur zur Zeitermittlung (erforderlich für Ermittlung und Anzeige der Trainingszeit).

config.php

Enthält die Postfach-Zugangsdaten der Benutzer und dient zur Ermittlung des Spam-Levels. Das Array muss analog zur spam.php angepasst werden, Pfade müssen an die eigene Installation angepasst werden.

learn_ham.php

Jeder Benutzer sollte im Postfach einen Unterordner INBOX.HAM haben. Dahin kann er Mails verschieben, die fälschlich als SPAM erkannt wurden.
Das Skript wird über den Browser aufgerufen:
http://[Eigene HP oder JANA-IP]/[Unterordner mit Skript]/learn-ham.php?user_int=0
Die beim Parameter "user_int" übergebene Ziffer muss wieder mit den Array-Indexen in der spam_sort.bat, der config.php übereinstimmen. So kann jeder User die eigenen Ham-Mails trainieren. Der Trainingserfolg wird im Anschluss ausgegeben.

learn_spam.php

Jeder Benutzer sollte im Postfach einen Unterordner INBOX.SPAM haben. Darin tauchen alle als Spam erkannten Emails auf. Dahin kann er auch Mails verschieben, die nicht als SPAM erkannt wurden.
Bevor das Skript aufgerufen wird, muss der Spam-Ordner kontrolliert werden, ob darin noch gewollte Emails vorhanden sind! Diese Emails müssen in einen anderen Unterordner verschoben werden, sonst werden sie als Spam trainiert und anschließend gelöscht!!

Das Skript wird über den Browser aufgerufen:
http://[Eigene HP oder JANA-IP]/[Unterordner mit Skript]/learn-spam.php?user_int=0
Die beim Parameter "user_int" übergebene Ziffer muss wieder mit den Array-Indexen in der spam_sort.bat, der config.php übereinstimmen. So kann jeder User die eigenen Spam-Mails trainieren. Der Trainingserfolg wird im Anschluss ausgegeben.

Weblinks

[1] SpamAssassin for Windows
[2] Skripte/Beispieldateien
[3] Skripte/Beispieldateien im JanaForum