Mailfilter - Ein Anti-Spam Utility
Beispiele zu regulären Ausdrücken
Nachdem das obige vielleicht alles etwas viel auf einmal war, hier ein paar Beispiele zu der grauen Theorie.
regulärer Ausdruck | trifft z.B. zu für |
---|---|
ab* | a, ab, abb, abbb, etc. |
a[bc] | ab, ac |
a[bc]+ | ab, ac, acc, accc, abb, abbb, acb, abc, abcc, acbb, acbcb, etc. |
a(bc|de) | abc, ade |
[[:digit:]+] | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, etc. |
Kompliziertere Beispiele, die auch für die Verwendung von Mailfilter interessant sind, entnehmen Sie bitte den nützlichen Filterregeln.
Testen von regulären Ausdrücken
Da man doch nicht immer genau weiß, wie so eine Regel sich genau auswirkt, sollte man diese vorher testen. Am einfachsten geht das mit einer Textdatei, die typische Headerzeilen enthält und zwar auch solche, die eigentlich nicht zutreffen sollten.
Ihre Regel können sie dann mit folgender Kommandozeile auf Wirksamkeit prüfen:
$ egrep "<ihre_regel>" <name_der_textdatei>
Also zum Beispiel:
$ egrep "^From: *Hans Huber" header.txt
Unter dem Kommando werden nun alle Zeilen aufgelistet, auf die das Suchmuster gepasst hat. Passen die darauf hin die Regel so an, bis keine falschen Treffer mehr dabei sind. Falls das nicht geht und sie diese Regel dennoch verwenden, sein sie sich sicher, dass ihre Liste mit den Mailadressen der Freunde (Whitelist) vollständig ist!
Troubleshooting
Zeichenbereiche in geklammerten Ausdrücken
Wenn Sie geklammerte Ausdrücke mit Zeichenbereichen (z.B. [e-h]
) benutzen, sollten sie vor dem Aufruf von Mailfilter die Sprachumgebung aussetzen:
$ OLDLANG=$LANG $ unset LANG $ mailfilter [Ausgabe von mailfilter] $ LANG=$OLDLANG $ unset OLDLANG
Sie würden sonst stundenlang über Ihren Regeln brüten, ohne dass Ihnen ein Fehler auffällt. Sofern es möglich ist, sollten Sie die vordefinierten Zeichenklassen (alnum, digit, etc.) verwenden.
Testen, testen, testen!
Lassen Sie Mailfilter nicht ungetestet auf Ihr Postfach los. Machen Sie lieber ein paar Testläufe mehr, bevor Sie wichtige Mails verlieren.