Die Problemstellung ist folgende: Man hat sein Mailkonto, greift auf dieses via IMAPs zu und erhält jeden Tag tonnenweise Mails. Um eMails zu sortieren, legt man sich Filterregeln auf seinem Client Computer an. So weit so gut, einziges Problem was dann richtig nervig wird ist, wenn man mehrere Computer benutzt und dann vllt. noch ab und zu via Webmailer seine Mails checkt. Filterregeln müssten dann auf jedem einzelnen Computer neu angelegt werden, das kostet Zeit und ist nervig, geschweige denn vom Webmailer. Falls der Webmailer Filterregeln unterstützt, müssten diese dort auch nochmals eingetragen werden..

Abhilfe schafft hier Sieve. Man erstellt sich einmal zentralisiert auf dem Webserver seine Filterregeln und die Mails liegen dann bereits auf dem Server fein sortiert vor, sodass man mit einem beliebigem Mailclient, ohne Filterregeln definieren zu müssen, zugreifen kann.

Ich nutze auf meinem Server Postfix als Mailserver. Auf die Konfiguration von Postfix werde ich hier nicht weiter eingehen, dies wird vorausgesetzt. Als IMAP Server setze ich wie schon erwähnt Dovecot ein. Dovecot unterstützt Sieve ab der Version 1.2 und neuer. Das ganze nennt sich dann Dovecot Sieve. Die Dovecot Entwickler haben Sieve für Dovecot neu geschrieben. Sollte als Serverdistribution als Beispielsweise Debian Lenny verwendet werden, wird man feststellen, dass das Paket dort nicht ganz aktuell ist. Deshalb empfiehlt es sich, aus den Debian Backports die aktuellste dort verfügbare Version von Dovecot zu installieren.

Da ich nur einen kleinen Mailserver betreibe lege ich für jeden Benutzer ein Benutzerkonto auf dem Server an. Die Mails liegen dann im Homedir des jeweiligen  Benutzers. Kommen wir nun zur Konfiguration, das ist im Prinzip auch recht einfach gehalten.

Erst einmal muss die postfix  Konfiguration angepasst werden, es muss jetzt nämlich immer der Dovecot Deliver Client für das zustellen von Mails benutzt werden, weil dieser dann die Filterregeln anwendet, wann immer eine Mail reinkommt, dies erledigt man durch Folgende Zeile:

# /etc/postfix/main.cf mailbox_command = /usr/lib/dovecot/deliver

Als nächstes müssen wir noch das Sieve Plugin für Dovecot aktivieren, folgendes muss hierbei in die Konfiguration:

# /etc/dovecot/dovecot.conf protocols = imap imaps managesieve lda protocol lda { postmaster_address = master@server.domain mail_plugins = sieve } plugin { sieve = ~/.dovecot.sieve sieve_dir = ~/mails/sieve }

So, nun haben wir Dovecot für Sieve konfiguriert. Dovecot muss nun restarted werden und wird, sofern die datei .dovecot.sieve im Home Verzeichnis des Benutzers vorliegt, die Filterregeln für jede eingehende Mail verarbeiten.  Sollte man als Mail-Client Thunderbird einsetzen, was ich wärmstens empfehle, kann man dort ein gutes Sieve Plugin verwenden. Dieses Plugin nutzt die vorhin konfigurierte Managesieve Schnittstelle, welche per default auf port 2000 läuft, um das Sieve Skript hochzuladen. Eine wirklich sehr praktische Sache! Das Plugin checkt, ob man Syntax Fehler hat und hat eine umfassende Skript Referenz, welches gerade Einsteigern (wie mir) das Leben leichter machen soll. Ich habe hier mal einen Screenshot von einigen meiner Filterregeln beigefügt. Für eine volle Funktionsreferenz oder weitere Beispiele kann ich die Dovecot Sieve Seite im Dovecot Wiki empfehlen.

Thunderbird Sieve Plugin