# Spamihilator

Spamihilator ist ein Spamfilter, der Spam-E-Mails aussortiert, bevor sie in das E-Mail-Programm des Benutzers gelangen.

## Architektur

Spamihilator schaltet sich als Mail Retrieval Agent zwischen das E-Mail-Programm und den externen Mailserver. Spamihilator präsentiert sich als Mailserver, der von lokalen E-Mail-Programmen unter der Adresse Localhost angesprochen wird.

## Funktionen

Das Programm überprüft die empfangenen E-Mails mit seinen Filtern nach sinnvollen Filterungskriterien. Die Filter des Spamihilators können ein- oder ausgeschaltet und individuell konfiguriert werden. Zusätzliche Filter können als Plug-ins installiert werden. Der Entwickler des Spamihilator stellt auf seiner Website ein Plugin-Software-Development-Kit zur Verfügung, mit dem interessierte Programmierer eigene Filter erstellen können.
Die regelrechten Mails (Non-Spam-Mails) werden an das E-Mail-Programm übergeben und erscheinen dort im Posteingang. Die Spam-Mails werden in den Spamihilator-Papierkorb verschoben. Alle empfangenen E-Mails (bis auf wenige Ausnahmen) werden als Kopie im Spamihilator-Trainingsbereich angezeigt und können dort vom Benutzer gesichtet werden, siehe auch unten.
Spamihilator kann E-Mails von Mail-Servern über die Protokolle POP3 und IMAP empfangen.
Das Programm kann SSL-/TLS-Verbindungen herstellen.

## Installation

Die aktuelle Version 1.6.0 kann auf NT-basierten Windows-Versionen bis einschließlich Microsoft Windows 10 installiert werden. Spamihilator wurde in einer Version für 32-Bit- und einer für 64-Bit-Computer kompiliert. Die Version 1.6.0 kann auch als portable Version heruntergeladen werden.
Der Spamihilator Setup-Assistent hilft optional bei der Einrichtung der E-Mail-Konten des E-Mail-Programms.
Jeweilige Updates können grundsätzlich einfach über die bisherige Spamihilator-Version überspielt werden. Aktualisierungen von Versionen älter als 0.9.9.26 auf die Vista-fähigen neueren Versionen und Versionen älter als 0.9.9.52 auf die aktuelle Version 1.5.0 erfordern eine vorherige grundlegende Deinstallation der früheren Versionen, einschließlich des Löschens aller Spamihilator-Verzeichnisse. Die Einführung der Windows-Benutzerregeln (Benutzerkontensteuerung) und grundlegende Änderungen der Installation verlangen eine neue Installationsweise. Version 1.5.0 kann wie eine Reparaturinstallation über 1.0.0 installiert werden.

## Trainingsbereich

Im Trainingsbereich werden Kopien aller empfangenen E-Mails als Nicht-Spam oder als Spam vormarkiert aufgelistet, wenn die entsprechenden Einstellungen für den Trainingsbereich vorgenommen worden sind.
Der jeweils an der Bewertung der gefilterten E-Mail beteiligte Filter und der Filterungsgrund werden im Trainingsbereich angezeigt. Wurde zum Beispiel eine „gute“ E-Mail irrtümlich (falsch-positiv) ausgesiebt, kann man sie hier ummarkieren und wiederherstellen lassen.
Je nach den eigenen Bedürfnissen und je nach Mailaufkommen kann man täglich oder wöchentlich seinen Trainingsbereich durchsehen.
Nach der Bearbeitung des Trainingsbereichs lässt man die jeweils lernfähigen Filter lernen, zum Beispiel den lernenden Filter (Bayes Spamfilter) und den Linkfilter (URL-Blacklist-Filter).

## Filter/Kriterien

Je nachdem, welche Filter beim eigenen individuellen E-Mail- und Spam-Aufkommen gut funktionieren, kann man das Filterergebnis auch durch Einstellungen in den Filtern und durch Änderungen der Filterreihenfolge weiter optimieren.
* Die Freunde-Liste kann E-Mails von eingetragenen Freunden immer durchlassen, die Blockierte-Absender-Liste kann E-Mails von bekannten Spam-Absendern immer blockieren.
* Newsletter können in eine Newsletterliste eingetragen werden, die vom Lernen ausgenommen werden kann, um den Spamfilter nicht mit Werbeaussagen zu verschmutzen.
* Der Spamwortfilter kann vordefinierte Wörter erkennen, die für Spam-Mails typisch sind. Spamihilators Spamwortfilter ist in der Lage, Regular Expressions zu verarbeiten.
* Der lernende Filter kann aus der Bewertung einer E-Mail als Spam oder als Non-Spam lernen, indem er Wörtern aus „guten“ E-Mails einen positiven Wert zuteilt und Wörtern aus „schlechten“ E-Mails einen negativen. Er wendet die gelernten Bewertungen auf die nächsten zu empfangenden E-Mails an.
* Der DCC-Filter, ein Prüfsummen-Filter, kann Massenmails erkennen, indem er aus jeder E-Mail eine Prüfsumme errechnet, diese auf einem Prüfsummen-Server hinterlegt und abgleicht, wie viele Benutzer die gleiche E-Mail erhalten haben.
* Ein Link-Filter kann „schlechte“ Hyperlinks aus Spam-Mails in eine URL-Blacklist eintragen, und diese wiederum zur Überprüfung neu empfangener E-Mails anwenden.
* Der Regel-Filter kann Regeln verarbeiten, zum Beispiel „Größe der Mail > 1024 KB, dann Non-Spam“, oder eine Signatur erkennen. Eigene Regeln können unter anderem mit regulären Ausdrücken definiert werden.
* Spezial-Filter können Spam-Mails erkennen, die leer sind oder nur eine Grafik enthalten.
* Ein Blacklisting-Filter kann aktuelle Spam-Absender-Listen, die auf Antispam-Servern bereitgehalten werden, zum Abgleich der Absender verwenden.
* Andere Spezialfilter können E-Mails mit unüblichen Character-Sets oder E-Mails aus spam-typischen Ländern sperren.
* Ein weiterer Spezialfilter kann E-Mails mit sinnlosen Zeichenketten herausfiltern.
* E-Mails, die in ihrem HTML-Text auch Script-Code enthalten, können herausgefiltert werden.
* Neu programmiert wurde ein Sprachfilter, in welchen vordefinierte Sprachdateien importiert werden können, um Mails in bestimmten Sprachen als Non-Spam oder Spam zu bestimmen.

## Quellen

* Artikel in der Computerzeitschrift „c’t“ des Heise-Verlags, z. B. „c’t“ 22/03, Seite 76, „c’t“ 8/05, Seite 155 und „c’t“ 11/07, Seite 147.
* Zeitschriftenartikel in der „CHIP“, z. B. in der „CHIP“ 10/2007, Seiten 193 und 196, außerdem als Freeware-Tipp in aktuellen Ausgaben.