Dies ist die archivierte Version des Blogs vom 05.01.2017. Aktuelle Beiträge findest du unter thomas-leister.de
 

Wie man einfache Sieve Filterregeln für den Dovecot IMAP Server einrichtet habe ich euch schon gezeigt. Nun will ich euch eine andere, benutzerfreundlichere Methode für die Erstellung und Verwaltung von Sieve Filterregeln vorstellen: Managesieve ist ein kleiner Server, der eigene Regeln der Mailaccount-User entgegen nimmt und im System aktiviert. Die User sind deshalb nicht mehr auf den Administrator angewiesen, wenn Änderungen an den Filtern vorgenommen werden sollen, sondern können ihre eigenen Filter selbst nach belieben erweitern oder ändern. Die Verwaltung der Scripts geschieht über einen Sieve Client.

Managesieve Installation

Loggt euch für die Installation von Managesieve zunächst als root auf eurem Linux Server ein:

sudo -s

Unter Ubuntu Server wird Managesieve durch das „dovecot-managesieved“ Paket bereitgestellt:

apt-get install dovecot-managesieved

Nach der Installation muss Sieve noch ein wenig eingestellt werden, damit die Filter an der korrekten Stelle abgespeichert werden. In der vorherigen Anleitung, in der es nur um Sieve ohne Manager ging, habe ich bereits eine Verzeichnis /var/vmail/sieve/ angelegt. Eine Konfiguration in der Datei /etc/dovecot/dovecot.conf könnte beispielsweise so aussehen:

plugin {
    sieve_before = /var/vmail/sieve/spam-global.sieve
    sieve_dir = /var/vmail/sieve/scripts/%u
    sieve = /var/vmail/sieve/%u.sieve
}
  • „sieve_before“ ist ein Filter, die unabhängig vom Benutzer immer vor allen anderen Filtern ausgeführt wird. (Sinnvoll z.B. zum Ausfiltern von Spam).
  • „sieve_dir“ gibt den Pfad zu einem Verzeichnis an, in dem die Filterscripts der Nutzer angelegt werden. Im Beispiel wird zur Übersicht für jede Mailadresse ein eigener Ordner angelegt. Außerdem verhindert das, dass die User auch fremde Filterscripte sehen oder ändern.
  • „sieve“ gibt den Pfad zu dem symbolischen Link an, der auf den aktuell verwendeten Filtersatz verweist. Wenn im „sieve_dir“ eines Benutzers mehrere Scripts liegen, verweist dieser Link (der als Bezeichner die Mailadresse des Users trägt) auf das aktuelle Script. Das ändert sich, wenn der Nutzer einen anderen Filtersatz (ein anderes Script) aktiviert.

Unter „protocols“ wird „sieve“ hinzugefügt:

protocols = imap lmtp sieve

Außerdem wird sieve als Plugin für LMTP hinzugefügt:

protocol lmtp {
    mail_plugins = $mail_plugins sieve
}

Das war’s auch schon mit der Konfiguration. Nun muss Dovecot noch neu gestartet werden, damit die Änderungen übernommen werden:

service dovecot restart

Sieve Scripts über den Sieve Manager Hochladen

Leider kann nicht jeder Mailclient von Haus aus mit Managesieve umgehen, sodass nicht von jedem Clients aus eigene Filterregeln auf den Server hochgeladen werden können. Meist gibt es dafür aber spezielle Sieve Plugins, mit denen diese Funktion nachgerüstet werden kann.

So gibt es auch für den bekannten und beliebten Webmail Client „Roundcube“ (How To: Installation) ein Plugin, das mit Managesieve umgehen kann. Wie ihr dieses Einrichtet, erfahrt ihr in diesem Beitrag:

Sieve Filterplugin für Roundcube Webmail Client installieren

 

 


Post published on 24. Juni 2014 | Last updated on 3. Juli 2016
Tags:             

Diesen Blog unterstützen

Wenn Dir der Beitrag gefallen hat, freue ich mich über einen kleinen Obolus :-) Bitcoin QR Code

PayPal-Seite: https://www.paypal.me/ThomasLeister
Meine Bitcoin-Adresse: 15z8 QkNi dHsx q9WW d8nx W9XU hsdf Qe5B 4s

Siehe auch: Unterstützung

Informationen zum Autor

Thomas Leister

Geb. 1995, Kurzhaar-Metaller, Geek und Blogger. Nutzt seit Anfang 2013 ausschließlich Linux auf Desktop und Servern. Student der Automobilinformatik an der Hochschule für angewandte Wissenschaften in Landshut.

7 thoughts on “Dovecot Sieve Manager (Managesieve) installieren

  • sieve_dir = /var/vmail/sieve/scripts/%u
    sieve = /var/vmail/sieve/%u.sieve

    Würde die Nutzer nicht die Fremden filterscripte nun doch erreichen (lesen/ändern), da sie ja nur in roundcube einen filter mit dem usernamen des anderen users anlegen, bzw laden?

    Also anderes gefragt fehlt da nicht ein %u im pfad?
    sieve = /var/vmail/sieve/%u/%u.sieve

    und für roundcube müsste die zeile dann so aussehen oder?
    sieve = /var/vmail/sieve/%u/roundcube.sieve

    Und dieser Symbolische Link, von welchem programm wird der verwaltet? Erstellt das roundcube plugin den?

    • ok habs gefunden. hast natürlich recht. der symlink wird durch das aktivieren der filtersatzes in roundcube erstellt.

      mail_debug=yes
      hat geholfen

      aber ich hab noch warnungen gehabt das die user kein home dir haben, hab ich mit
      mail_home = /var/vmail/%d/%n
      mail_location = maildir:~/
      weg bekommen.

  • Hallo,

    erst einmal ein großes Lob, die Anleitungen haben mir sehr weiter geholfen.
    Jedoch habe ich ein Problem:

    Ich habe die Sieve-Filter nach deiner Anleitung installiert und eingerichtet. Jetzt wollte ich auch Roundcube mit Sieve einrichten. Habe wieder alles Schritt für Schritt nachvollzogen, aber in Roundcube taucht das Plugin nicht auf.

    Mit der Thunderbirderweiterung hatte ich leider auch keinen Erfolg.

    Könntest du mir vielleicht noch einen Tipp geben? Muss bei der neueren Version von Managesieve evtentuell noch etwas konfiguriert werden?

    Gruß
    Marco

  • Es geht nicht @Marco, weil er ein Lappen ist, die Variable „sieve_dir“ existierte nie…

    • Gut gebrüllt Löwe. Deine Aussage wäre auch korrekt, wenn sie nicht komplett falsch wäre.
      Auszug aus der /etc/dovecot/conf.d/90-sieve.conf Dovecot 2.2.9 unter Ubuntu 14.04:

      # Directory for :personal include scripts for the include extension. This
      # is also where the ManageSieve service stores the user's scripts.
      #sieve_dir = ~/sieve

  • Es muss aber trotz alledem in der /etc/dovecot/dovecot.conf unter protocols= noch „´managesieve“ aufgenommen werden, sonst geht da nix. Hat mich jetzt doch länger gekostet, dass herauszufinden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.