HowTo ManageSieve-Server mit pysieved

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

QTip

Super-Moderator
Teammitglied
Registriert
04. Sep. 2008
Beiträge
2.341
Reaktionspunkte
14
Punkte
84
Hallo,

beim Stöbern durch das Netz bin ich auf pysieved gestossen, einen ManageSieve Server. Wie der Name schon verrät, wird Python vorrausgesetzt. In Dovecot existiert ebenfalls ein ManageSieve Server, dieser muss aber beim compilieren aktiviert bzw. dovecot zuvor gepatched werden. Da ich keine Lust hatte mir dovecot zu kompilieren, versuchte ich es mit pysieved.

Hier nun die Anleitung:

Vorraussetzungen
  • dovecot-sieve - nach der Anleitung im Wiki
  • Python - wer getmail benutzt, hat bereits Python 2.5 installiert, es sollte aber auch mit neueren Version funktionieren. Wichtig ist nur...es sollte sich im Suchpfad befinden.
  • MailServer Paket von Synology
  • optional: MailStation Paket von Synology, wenn ihr Roundcube benutzen möchtet
  • optional: Thunderbird Add-on "sieve", https://addons.mozilla.org/de/thunderbird/addon/sieve/
Einrichtung
pysieved:
auf der Diskstation per telnet oder ssh als root anmelden
ich habe pysieved in /usr/local/lib entpackt. Man kann auch jeden anderen Ort benutzen, muss dann aber die Pfade entsprechend anpassen.
cd /usr/local/lib
aktuellen tarball http://gitorious.org/pysieved/pysieved/archive-tarball/master herunterladen und enpacken:
Rich (BBCode):
wget http://gitorious.org/pysieved/pysieved/archive-tarball/master
tar -xzvf pysieved-pysieved-master.tar.gz
mv pysieved-pysieved pysieved
cd pysieved
Mit einem geeignetem Editor die Datei pysieved.ini öffnen und folgende Anpassungen durchführen
Erklärung: Wir teilen pysieved mit, das wir uns über dovecot authentifizieren möchten und sagen ihm wo er die Schnittstellen/Sockets für den Zugriff vorfindet.
Rich (BBCode):
[main]
auth = Dovecot

[Dovecot]
master = /var/run/dovecot/auth-master
mux = /var/run/dovecot/auth-client
sievec = /var/packages/MailServer/target/libexec/dovecot/sievec

dovecot:
nun die Datei /var/packages/MailServer/etc/template/dovecot.template öffnen. Wieso dieses Template? Der Mailserver generiert die Konfigurationen bei jedem Start neu. Bei einem Update des Paketes muss diese Datei anschließend manuell durch unsere getauscht/angepasst werden, also nach diesem HowTo unbedingt die Dateien an einen sicheren Ort kopieren.
Erklärung: Wir weisen dovecot an, die Schnittstellen/Sockets auch für andere Programme zugänglich zu machen, indem dovecot die beiden Sockets in /var/run/dovecot anlegt.
Nun bitte die folgenden Anpassungen durchführen:
PHP:
  # It's possible to export the authentication interface to other programs:
  socket listen {
    master {
      # Master socket provides access to userdb information. It's typically
      # used to give Dovecot's local delivery agent access to userdb so it
      # can find mailbox locations.
      path = /var/run/dovecot/auth-master
      mode = 0600
      # Default user/group is the one who started dovecot-auth (root)
      #user = 
      #group = 
    }
    client {
      # The client socket is generally safe to export to everyone. Typical use
      # is to export it to your SMTP server so it can do SMTP AUTH lookups
      # using it.
      path = /var/run/dovecot/auth-client
      mode = 0660
    }
  }
Wer die Bearbeitung in Roundcube möchte, kann das mitgelieferte Plugin dafür aktivieren
Datei /var/packages/MailStation/roundcubemail/config/main.inc.php öffnen und Anpassung durchführen
Rich (BBCode):
// List of active plugins (in plugins/ directory)
$rcmail_config['plugins'] = array('managesieve');

Ist die Konfiguration abgeschlossen, muss der MailServer einmal gestoppt und wieder gestartet werden, damit die Änderungen aktiviert werden.
Nun kommt der 1. Start des ManageSieve-Servers. Navigiert hierfür in das Verzeichnis /usr/local/lib/pysieved und gebt das folgende Kommando ein:
Rich (BBCode):
/usr/bin/env python pysieved.py --config pysieved.ini
Der Server sollte starten, sich in den Hintergrund begeben und auf dem Port 2000 lauschen. Wenn keine Fehlermeldungen angezeigt werden, überprüfen wir das wie folgt:
Rich (BBCode):
netstat -anp | grep 2000
Es sollte folgendes zu sehen sein:
Rich (BBCode):
tcp        0      0 0.0.0.0:2000            0.0.0.0:*               LISTEN      29910/python
Im Anhang habe ich noch ein Start-Stop Script welches ihr in /usr/local/etc/rc.d ablegen könnt, nicht vergessen das Script ausführbar zu machen.
Zum weiteren Testen dann entweder per Roundcube und aktiviertem Plugin "managesieve" oder Thunderbird mit dem Add-on "sieve".
In Roundcube versteckt sich die Filterbearbeitung unter "Einstellungen - Filter", in Thunderbird unter "Extras - Konteneinstellungen - [Konto] - Sieve Einstellungen".

Wie immer ist die Benutzung euer eigenes Risiko!

Und nun viel Spass beim Filter scripten ;)
 

Anhänge

Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat