Managesieve: Unterschied zwischen den Versionen
(Erste Version der Seite) |
K (Tippfehler) |
||
Zeile 30: | Zeile 30: | ||
Für die Einrichtung von <tt>deliver</tt> als Mailzustellungsprogramm ist keine weitere Konfiguration notwendig. Dies geschieht automatisch. | Für die Einrichtung von <tt>deliver</tt> als Mailzustellungsprogramm ist keine weitere Konfiguration notwendig. Dies geschieht automatisch. | ||
Hat ein Nutzer bisher procmail benutzt, kann die <tt>. | Hat ein Nutzer bisher procmail benutzt, kann die <tt>.forward</tt> gelöscht werden oder durch eine neue <tt>.forward</tt> ersetzt werden mit folgendem Inhalt: | ||
xyz00@h01:~$ cat .forward | xyz00@h01:~$ cat .forward |
Version vom 16. November 2011, 10:28 Uhr
Managesieve
Managesieve [1] ist ein Dienst-Programm zum Einrichten und Verwalten von Mailfiltern, die in der Filtersprache sieve geschrieben sind. Sieve ist als Dovecot-Plugin [2] verfügbar.
Für Nutzer, die nur einfache Filterregeln benötigen, wird empfohlen diese Filter über das grafische Oberfläsche im Webmailer Roundcube anzulegen und zu verwalten. Die Vorgehensweise ist ausführlich unter Roundcube - Filter beschrieben.
Diese Seite gibt einige technische Informationen und Einführung für Nutzer, die eigene Skripte in sieve schreiben wollen.
Filtermöglichkeiten
Sieve erlaubt Filter zu schreiben u.a. für folgende Filteraktionen:
- Verschieben/Kopieren einer Nachricht in einen Ordner
- Erstellen von Abwesenheitsmeldungen
- Markieren von Nachrichten (z.B. Gelesen, Weitergeleitet)
- Weiterleiten/Kopie senden an andere Email-Adressen
- Ablehnen von Nachrichten
Eine ausführliche Beschreibun der Filteraktivitäten ist zu finden auf der Dovecot-Seite [3]
Hierbei sind keine Aufrufe von externen Programmen möglich. Dadurch können keine unerwünschten Seiteneffekte entstehen. Dies grenzt sieve beispielsweise von procmail ab.
Die Filterregeln lassen Checks zu z.B. von
- Test auf bestimmte Absender
- Vorhandensein von bestimmten Texten im Betreff oder dem Text der Nachricht
- Bestimmte Werte für andere Header der Nachricht, z.B. zur Identifizierung von Mailinglisten über List-Id.
Dabei können teilweise reguläre Ausdrücke benutzt werden oder Aggregatsfunktionen wie "Anzahl der Empfänger".
Einrichtung
Für die Einrichtung von deliver als Mailzustellungsprogramm ist keine weitere Konfiguration notwendig. Dies geschieht automatisch.
Hat ein Nutzer bisher procmail benutzt, kann die .forward gelöscht werden oder durch eine neue .forward ersetzt werden mit folgendem Inhalt:
xyz00@h01:~$ cat .forward "| /usr/lib/dovecot/deliver "
Sieve-Filter
Ein einfaches Sieve-Skript sieht wie folgt aus:
require "fileinto"; if header :contains "X-Spam-Flag" "YES" { fileinto "Spam"; }
Dieses Skript prüft ob in der Nachricht der Header "X-Spam-Flag" existiert und den Wert "YES" enthält. In diesem Fall wird die Nachricht in den Ordner "Spam" abgespeichert.
Mehrere Filter werden hintereinander in eine Filterdatei gehängt. Die Filter können durch if-then-else-Konstrukte verbunden werden.
Weiter Beispiele sind zu finden z.B. unter [4] oder [5]
Speicherort
Die Sieve-Filter sollte im HOME-Verzeichnis des Users in der Datei ~/.dovecot.sieve abgespeichert werden.
Bei der Benutzung von Managesieve werden Filterdateien im Verzeichnis ~/Maildir/sieve/ gespeichert und per Symlink die aktive Filterdatei verlinkt.
xyz00@h01:~$ ls -al drwxr-xr-x 5 xyz00-max xyz00 4096 Nov 16 07:28 . drwxr-xr-x 28 xyz00-max xyz00 4096 Oct 22 23:06 .. lrwxrwxrwx 1 xyz00-max xyz00 29 Nov 16 07:28 .dovecot.sieve -> Maildir/sieve/einfilter.sieve
xyz00@h01:~$ ls -al Maildir/sieve drwxr-xr-x 5 xyz00-max xyz00 4096 Nov 16 07:28 . drwxr-xr-x 28 xyz00-max xyz00 4096 Oct 22 23:06 .. -rw------- 1 xyz00-max xyz00 210 Nov 16 07:28 einfilter.sieve -rw------- 1 xyz00-max xyz00 321 Nov 16 07:28 nocheinfilter.sieve -rw------- 1 xyz00-max xyz00 99 Nov 16 07:28 weitererfilter.sieve
Managesieve
Managesieve ist ein Dienst, der es erlaubt Filterdateien aus der Ferne über ein definiertes Protokoll zu verändern sowei zu aktivieren/deaktivieren.
Der Dienst läuft jeweils auf dem Server auf dem der User seinen Account hat, also z.B. xyz00.hostsharing.net.
Folgende Einstellungen sind hierfür notwendig/empfohlen:
Beschreibung | Inhalt |
---|---|
Servername | xyz00.hostsharing.net (entsprechend dem Usernamen anpassen) |
Port | 4190 |
Authentifizierung | POP3/IMAP-Username/Passwort (z.B. xyz00-max) |
Sicherheit | TLS |
Beispielsweise kann hierfür das Thunderbird-Plugin Sieve benutzt werden.
Zusammenarbeit mit Procmail
Es ist möglich Procmail und Sieve (über deliver nacheinander zu benutzen. Dies kann z.B. interessant sein, wenn der Paketinhaber zentral für alle User über procmail Spamfilter mit spamassassin benutzen möchte und seine Nutzer dann anschließend über die grafische Óberfläche eigene (einfache) Filterregeln konfigurieren können.
Hierzu muß die .forward zunächst mit einem Aufruf für procmail zu füllen:
xyz00@h01:~$ cat .forward "|/usr/bin/procmail"
Als letzte Regel in der .procmailrc wird dann deliver aufgerufen, welches automatisch die aktiven Sieve-Regeln ausführt:
# Letzte Procmail-Regel: Deliver aufrufen :0 w | /usr/lib/dovecot/deliver
Soll procmail später nicht mehr benutzt werden, kann die .forward einfach gelöscht werden, oder deliver dort explizit angegeben werden:
xyz00@h01:~$ cat .forward "| /usr/lib/dovecot/deliver "