Spamassassin und seine Verbündeten bewerten email Nachrichten in ihrer Gesamtheit, in Teilen oder anhand von bestimmten headern nach verschiedener Kriterien und Methoden. Hierzu zählen u.a. Schlagwortlisten, Informationretrievalverfahren, fuzzy checksums und distributed clearing houses, real time black- und whitelists, aber auch regulär nicht auftretende header Kombinationen. Auch der SMTP-Client, über die die Mail zu uns gekommen ist, wird bewertet. Bei jedem dieser Tests werden positive und negative Punkte vergeben. Die daraus gebildete Summe (score) gibt die Spammigkeit einer Mail aus Sicht der bewertenden Routinen an. In speziellen headern wird sie der Mail beigefügt, sollte sie > 0 sein (im Beispiel 6.7). Immer eingefügt wird die oberste der drei folgenden header Zeilen:
X-Spam-Checker-Version: SpamAssassin on mx.iai.uni-bonn.de
X-Spam-Level: ****** at mx.iai.uni-bonn.de
X-Spam-Score: 6.7 at mx.iai.uni-bonn.de
Es gibt keine verbindliche Angabe, ab welchem Wert eine Mail Spam ist oder nicht ist . Ein Score von grösser-gleich 6 scheint ein sinnvoller Schwellwert zu sein. Dieser bleibt wie die generelle Anwendung vollständig dem Ermessen des Nutzers überlassen. Insbesondere impliziert eine Bewertung nie, dass es sich bei der Absenderangabe einer email um einen "Spammer" handelt!
Solche Abfragen sind für den zentrale email server und seiner Filtersprache Sieve sehr leicht mit Squirrelmail Plugin avelsieve oder websieve im basic mode möglich. Dort befindet sich nach dem Anmelden eine Kurzanleitung zur Eintragung der Regel im Menu Add Rule . Eine bebilderte Kurzanleitung am Beispiel websieve beschreibt das gesamte Vorgehen Schritt für Schritt im Detail.
Für advanced user hier ausserdem zwei Beispiel-Segmente direkt in der Filtersprache Sieve des zentralen mail servers, die ebenfalls mittels websieve eingetragen werden können (advanced mode):
Im folgenden Beispiel sollen Nachrichten mit einem header X-Spam-Score Wert >= 7 oder X-Spam-Level mit mindestens sieben Sternen nicht in der INBOX, sondern in dem subfolder spam abgelegt, wenn dieser existiert. Dieser ist ggf. zuvor mit dem verwendeten mail client, webmail oder websieve anzulegen!
if header :contains "X-Amavis-Alert" "INFECTED"
{
fileinto "INBOX.virusdetected";
stop;
}
|
if allof (
header :value "ge" :comparator "i;ascii-numeric" "X-Spam-Score" "7",
not header :regex "X-Spam-Score" "-[0-9]"
)
{
fileinto "INBOX.spam";
stop;
}
|
OR
|
if header :contains "X-Spam-Level" "*******"
{
fileinto "INBOX.spam";
stop;
}
|
Es ist insbesondere nicht zu empfehlen, Mails aufgrund ihres X-Spam-Level headers automatisch löschen zu lassen ( discard ). Falls man dennoch nicht darauf verzichten möchte, sollte eine gestaffelte Filterung erfolgen. Ein Beispiel für unterschiedliche Behandlung ist:
if header :contains "X-Amavis-Alert" "INFECTED"
{
fileinto "INBOX.virusdetected";
stop;
}
|
OR
|
if header :contains "X-Amavis-Alert" "INFECTED"
{
discard;
stop;
}
|
if allof (
header :value "ge" :comparator "i;ascii-numeric" "X-Spam-Score" "12",
not header :regex "X-Spam-Score" "-[0-9]"
)
{
discard;
stop;
}
|
OR
|
if header :contains "X-Spam-Level" "************"
{
discard;
stop;
}
|
if allof (
header :value "ge" :comparator "i;ascii-numeric" "X-Spam-Score" "7",
not header :regex "X-Spam-Score" "-[0-9]"
)
{
fileinto "INBOX.spam";
stop;
}
|
OR
|
if header :contains "X-Spam-Level" "*******"
{
fileinto "INBOX.spam";
stop;
}
|
|