Sieve – Eine starke Sprache

Sieve ist eine E-Mail Filtersprache, die Serverseitig auf IMAP/POP Servern eingesetzt wird. Prominentes Beispiel hierfür ist der Cyrus Imapd. Dort können Serverseitig diverse Regeln ausfgestellt werden, die damit clientunabhängig Mails sehr Leistungsstark sortieren. Unter Linux gibt es Clients mit integrierter Sievefunktionalität wie Kmail. Weiterhin gibt es einige Webbasierte Lösungen wie Ingo aus dem Horde Paket (http://www.horde.org) oder Websieve als standalone Lösung.

Sieve unterstützt einiges an Fuktionalität um seine Mails zu filter. Hier ein paar Beispiele:

Bedingungen / Kontrollstrukturen:

if header :comparator "i;ascii-casemap" :contains "X-Spam-Level" "*****"

Diese Bedingung bedeutet, das immer wenn der Header die Zeile X-Spam-Level ***** beinhaltet etwas mit der Mail getan wird.

if address :all :comparator "i;ascii-casemap" :is "To" "xxx@xxx.de"

Bedeutet das immer wenn die To Adresse (Empfänger) gleich xxx@xxx.de ist (hartes ist) etwas getan wird.

if address :all :comparator "i;ascii-casemap" :contains "From" "xxx@xxx.de"

Bedeutet wie oben, das wenn die To Adresse (Empfänger) xxx@xxx.de enthält (weiches enthält) etwas getan wird.

Dieses etwas getan bezeichnet man oft auch als Aktion, Sieve enthält eine ganze fülle von Aktionen, die populärsten (die die ich nutze) seien hier kurz vorgstellt:

fileinto "INBOX.laber";
    addflag "\\Seen";
    stop; 

Diese Aktion speichert die Mail in das Unterverzeichnis „laber“ auf dem Imap Server. Zusätzlich wird die Mail anschließend noch als gelesen markiert.

     discard;
    stop;

Diese Aktion verwirft (löscht) die Mail und stoppt anschließend die weitere Abarbeitung weiterer Regel, hier ist das auch sinnvoll, da löschen doch ehr zu den entgültigen Aktionen gehört.