Sieve
Unter Sieve versteht man serverbasierte eMail-Filter. Konkret bedeutet das, dass eMails schon auf dem Mailserver direkt beim Eingang nach bestimmten Kriterien sortiert und verschoben werden können. Voraussetzung ist, dass man einen IMAP-Server verwendet, da sich die Ordner ja auf dem Server und nicht auf dem Client befinden müssen.
Sieve funktioniert in Zusammenhang mit Dovecot ohne Probleme.
Einrichtung
In diesem Artikel wird davon ausgegangen, dass eine Basisinstallation von Postfix & Dovecot bereits existiert. Eine Anleitung und Beispielkonfiguration ist auf Mailserver_Basic beschrieben. Damit Sieve funktioniert, muss die Dovecot-Konfiguration angepasst werden. Folgende Zeilen in der Datei hinzufügen bzw. erweitern:
user@localhost:~# vi /etc/dovecot/dovecot.conf
(...) protocols = imap imaps pop3 pop3s managesieve protocol managesieve { } protocol lda { postmaster_address = admin@domain.tld mail_plugins = sieve auth_socket_path = /var/run/dovecot/auth-master log_path = /var/vmail/dovecot-deliver.log } plugin { # sieve-filtering sieve_global_path = /var/vmail/globalsieverc sieve=/var/vmail/%d/%n/.dovecot.sieve sieve_dir=/var/vmail/%d/%n/sieve } (...)
Anschließend Dovecot neustarten
user@localhost:~# service dovecot restart
globaler Filter
Der globale Filter ist für alle Benutzer gültig. Der globale Filter kann nur durch den Administrator angepasst werden. Zuerst erzeugen wir einen eine neue Datei in /var/vmail/
user@localhost:~# cd /var/vmail
user@localhost:~# touch globalsieverc
user@localhost:~# chown vmail: globalsieverc
user@localhost:~# vi globalsieverc
require ["fileinto"]; # Move spam to spam folder if header :contains "X-Spam-Flag" ["YES"] { fileinto "Spam"; stop; }
Diese Regel verschiebt nun alle SPAM eMails in den Ordner Spam. Voraussetzung ist, dass Amavis oder ein vergleichbarer Dienst eingerichtet ist und die SPAM eMails im Header markiert.
sendmail user@beispiel.de < /usr/share/doc/spamassassin/examples/sample-spam.txt
Mit diesem Befehl kann man den serverbasierten Filter testen. Wenn alles funktioniert hat, müsste die eMail im Ordner Spam liegen.