Spamassassin: Filtern nach Texten im Betreff oder Mailtext

Es ist möglich, spamassassin (dem Spamfilter) neue Regeln hinzuzufügen, die Einfluss darauf haben, ob eine Mail als Spam bewertet wird oder nicht. Um beispielsweise im Betreff der Mails nach ‘Hund’ oder ‘Katze’ zu filtern, wären folgende Einträge in /etc/spamassassin/local.cf notwendig:

header HEADER_BLACKLIST Subject =~ /(.*[hH]und.*|.*[kK]atze.*)/ score HEADER_BLACKLIST +10.0

Eine evtl. lesbare, aber längere Schreibweise wäre:

header HEADER_BLACKLIST_1 Subject =~ /.*[hH]und.*/ header HEADER_BLACKLIST_2 Subject =~ /.*[kK].atze.*/ score HEADER_BLACKLIST_1 +10.0 score HEADER_BLACKLIST_2 +10.0

Die ‘score’-Zeile legt fest, wie stark der Test in die Gewichtung eingeht. Eine Mail wird normalerweise ab einer Bewertung von 5 als Spam klassifiziert.

Ähnlich funktioniert das Filtern nach dem Mailtext:

body BODY_BLACKLIST /.*GEWINN.*/ score BODY_BLACKLIST +7.5

Hier würden alle Mails, die das Wort ‘GEWINN’ enthalten, höher bewertet.

Nach Änderungen an der Datei /etc/spamassassin/local.cf sollten diese Änderungen mit

# spamassassin --lint

geprüft werden (Zeilen, die mit “config: SpamAssassin failed to parse line, skipping: spamtrap” anfangen, können dabei ignoriert werden). Danach muss der Spamfilter mit

# /etc/init.d/spamassassin restart

neu gestartet werden.

Die Testausdrücke bestehen aus sogenannten regulären Ausdrücken in der Perl-Notation. Eine kurze Einführung dazu ist z.B. unter heise.de/ix/artikel/1998/11/178/ zu finden. Nützliche man-pages zu Spamassassin lassen sich mit

$ apropos spamassassin

finden.

Mastodon