SieveScripts werden schon während der Zustellung der E-Mail am Posteingangsserver ausgeführt, man muss also nicht in jedem sonst genutzten Mailprogramm einen Regelsatz zusammenbauen.
Sowohl RoundCube als auch Horde bieten komfortable Schnittstellen an, um eigene Regeln zu erstellen und verwalten. Man sollte sich für eins der Programme entscheiden und dabei bleiben: Beide legen die Regelsätze intern in einer Datenbank ab und merken nicht, wenn der echte Regelsatz auf dem Server geändert worden ist. Im schlimmsten Fall wundert man sich, das eine Regel nicht greift, weil man sie versehentlich mit dem jeweils anderen Programm gelöscht hat.
Hartgesottene können auch selbst Sieve-Skripte schreiben und mit einem geeigneten Programm auf den Server laden. Thunderbird bietet ein entsprechendes Addon.
Filterregeln werden genutzt, um bestimmte Header-Einträge zu erkennen und anschließend eine bestimmte Aktion auszulösen. Man kann also zum Beispiel nach bestimmten Absendern, Betreff-Zeilen und so weiter eine Nachricht einstufen und anschließend zum Beispiel weiterleiten, als gelesen markieren, löschen oder verschieben lassen. In Ingo, der Filtermanager von Horde, und dem Filtermanager von RoundCube, der dort unter "Einstellungen" zu finden ist, kann man ein wenig stöbern und sich ansehen, was alles möglich ist.
Mit Sieve kann man Mails von seinem Account weiterleiten. Das kann nützlich sein, um zum Beispiel auch auf einem "Büro-Account" die Nachrichten vom privaten Konto zu empfangen. Ingo bietet zum Beispiel eine schon vorbereiteten Eintrag an, der nur noch aktviert werden muss.
Die Funktion macht es möglich, Nachrichten nach bestimmten Kriterien in Unterordner zu verschieben. Man kann zum Beispiel bestimmte Newsletter in bestimmten Unterordnern sammeln. Extrem nützlich, um im Mailkonto den Überblick zu behalten.
Mit Sieve kann man automatisiert E-Mails beantworten. Die wahrscheinlich häufigste Anwendung sind die allseits beliebten Abwesenheits-Benachrichtigung: "Bin im Gegensatz zu Dir armen Hund im Urlaub, Deine Anfrage muss warten. Beste Grüße" und so. Auch da gibt es in Ingo ein Muster.
# GMX-Killer if body :comparator "i;ascii-casemap" :contains "(nemesis mail header analyzer); Detail=V3;" { discard; stop; }
# Weiterleitung if true { redirect "hanns@example.com"; stop; }
# FAZ-Newsletter if address :all :comparator "i;ascii-casemap" :contains "From" "newsletter@faz.net" { discard; stop;
Sieve ist wie jede Computersprache: Sie nimmt Dich beim Wort. Deswegen kann man sich auch in den Fuß schießen, also sollte man sich seine Regeln gut überlegen.
Ein Beispiel: Ich will alle Mails von joe@example.com lesen, aber alle anderen Nachrichten von example.com löschen. Also habe ich zwei Regeln, die sinngemäß so aussehen:
Alles bestens. Eine Nachricht wird untersucht, es wird festgestellt, dass sie von joe@example.com stammt, sie wird akzeptiert und die Abarbeitung weiterer Regeln wird gestoppt. Wird festgestellt, dass die Mail nicht von Joe ist, dann wird die nächste Regel aufgerufen und im Fall eine Treffers die Nachricht gelöscht.
So aber wird das nix:
Beim Test wird festgestellt, dass die Mail von example.com stammt - sie wird in den Orkus geschickt. Und damit wird niemals geprüft, ob es sich um eine eigentlich gewollte Mail von Joe handelt.