Springe zum Hauptinhalt
Universitätsrechenzentrum
Sieve - Filtersprache

Mail-Filter mit Sieve

Das Einstellen der Mail-Filter am zentralen Mailbox-Server erfolgt via Webmailhttps://mail.tu-chemnitz.de/ingo/

Es folgen einige Anwendungsbeispiele für die Sprache Sieve (RFC 3028) zum automatischen Bearbeiten Ihrer eintreffenden E-Mail.

In Sieve werden Bedingungen formuliert, denen Aktionen folgen:

 if … {
    aktion; …; 
 }

Eine typische Bedingung ist das Abprüfen von Header-Feldern:

# Wenn die Subject-Zeile eine bestimmte Zeichenfolge enthält:
if header :contains "subject" "F R E E"

Anhand bestimmter Mail-Header können damit bestimmte Aktionen ausgelöst werden. Trifft keine der Bedingungen zu, verbleibt die Mail in Ihrer INBOX.

Als Aktionen sind definiert:

redirect Mail an eine andere Adresse weiterleiten
fileinto Mail in anderen Ordner ablegen (dieser muss vorher angelegt werden)
vacation Abwesenheitsmeldung an Absender senden
reject Mail zurückweisen, d.h. an Absender zurücksenden - Vorsicht ...
discard Mail löschen - Vorsicht ...

Betrachten wir einige typische Einsatzfälle:

Weitersenden an eine andere Mailadresse (Forward)

Achtung: Das automatisierte Weiterleiten von dienstlichen E-Mails ist für Mitarbeiter/innen aus juristischen und technischen Gründen nicht empfohlen.

Wenn Sie all Ihre eingehenden E-Mails an eine andere Adresse umleiten wollen:

redirect "alfons.bitmeister@xmg.ed";

Wenn Sie zusätzlich eine Kopie in Ihrer Mailbox behalten wollen (Achtung, dann müssen Sie Ihre Mailbox an der TU auch lesen und leeren!).:

redirect "alfons.bitmeister@xmg.ed";
keep;

Abwesenheitsmitteilung (vacation)

Wenn Sie den Absender einer E-Mail informieren wollen, dass Sie momentan nicht erreichbar sind:

require "vacation";
vacation :days 7 :addresses "alfons.bitmeister@s2000.tu-chemnitz.de"
     "Ich bin außer Haus und werde Ihre E-mail erst am 29.2.2004 lesen.
      Wenden Sie sich in dringenden Fällen bitte an ...";

Mit der Angabe hinter :days kann man den Zeitraum festlegen, innerhalb der ein Absender keine weitere solche "Abwesenheits-Mail" erhält. Hinter :addresses steht Ihre Mail-Adresse (oder mehrere, durch komma getrennt). Nur für Mail, die an diese Adresse(n) gesendet wurde, wird eine solche "Abwesenheits-Mail" erzeugt.

Kombination: Weitersenden oder Abwesenheitsmeldung

require "vacation";
if header :contains "from" "boss@tu-chemnitz.de" {
   redirect "vertreter@tu-chemnitz.de";
} else {
   vacation :days 7 :addresses "alfons.bitmeister@s2000.tu-chemnitz.de"
        "Ich bin außer Haus ...";
}

Ablegen in einen Ordner

Wenn Sie bestimmte E-Mails gleich in einen anderen Ordner ablegen wollen:

require "fileinto";
if header :is "Sender" "csn-owner@tu-chemnitz.de" {  
   fileinto "INBOX.csn";
} elsif header :contains "Subject" "XXXX" {         # Subject enthält XXXX
   fileinto "INBOX.Trash";                          # vermutlich Muell!
}

Ausfiltern von Spam-Mails

Sie können Sie hiermit z. B. als (unsicheren) Spam gekennzeichnete E-Mails in einen anderen Ordner ablegen:

require "fileinto";
# Spam Textanalyse: Je mehr *, desto wahrscheinlicher ist es Spam
# Mails mit Spam-Wahrscheinlichkeit > 10: löschen
if header :contains "X-Spam-Level" "**********" { discard; stop; }

# Mails mit Spam-Wahrscheinlichkeit > 5: in Ordner
if header :contains "X-Spam-Level" "*****" { fileinto "INBOX.spam"; stop; }

Diesen Ordner spam müssen Sie vorher anlegen und von Zeit zu Zeit ansehen und Mails löschen. Verwenden sie dazu ein IMAP-fähiges Mailprogramm oder WebMail.

Aktion abhängig von der Größe der Mail

Anhand der Größe einer Mail können Aktionen veranlasst werden. Z.B.: Weiterleiten aller Mails, die kleiner als 1 Megabyte sind:

if size :under 1M {
   redirect "andere@mail.adresse..."
}

Weitere Hinweise: