Eigene Sieve Scripte

Sehr geehrte Damen und Herren,

ich würde gern eigene Sieve Scripte erstellen und die auf meine Emails anwenden lassen. Nur jedes Mal wenn man eine Änderung mit dem Univention Frontend macht sind diese ja wieder weg. Wie werden die Scripte denn anlegt? Wie in dieses Bytecode Format umgewandelt?

MfG

Ingo Ebel

Hallo,

die Sieve Scripte werden von einem Listener Modul erstellt und auch von diesem kompiliert (/usr/lib/univention-ldap-listener/system/cyrus-sieve.py). Es besteht momentan allerdings noch keine simple Möglichkeit für einen Benutzer ein angepasstes Sieve-Script zu hinterlegen. An dieser Stelle sind aber bereits Erweiterungen in einer der kommenden UGS-Versionen geplant.
Ein Workaround wäre das deaktivieren des Listener Moduls, dies würde das Generieren der Sieve-Scripte allerdings für alle Benutzer deaktivieren. Am einfachsten kann das Listener Modul deaktiviert werden indem Sie es per “dpkg-divert” Diverten und anschließend den Listener neu starten. Das Modul wird dann nicht mehr verwendet und Sie können Sieve-Scripte wie gewohnt anlegen.

Mit freundlichen Grüßen
Janis Meybohm

Wäre damit auch deaktiviert dass die Skripte im Bytecodeformat vorliegen müssen?

Es müsste doch auch möglich sein sein eigenes Skript in dieses Bytecodeformat zu tranferieren und einfach das von Univention erzeugte zu ersetzten. Es sind eigentlich nur 2 User die dies benötigen und ich möchte ungern den Listener dafür deaktiveren…

Sehr geerhter Herr Ebel,

die Sieve-Filter müssen in UGS in kompilierter Form vorliegen, um ausgeführt werden zu können.

Es ist grundsätzlich möglich, die vom Listener-Modul erstellten Sieve-Filter durch eigene, kompilierte Sieve-Filter in den entsprechenden Verzeichnissen zu ersetzen. Dann ist allerdings zu beachten, dass jedesmal, wenn das Listener-Modul eine Änderung für diesen Benutzer erkennt, das der angepasste Sieve-Filter durch den vom Listener-Modul erzeugten überschrieben wird. Danach könnte der selbst erstellte Sieve-Filter allerdings einfach wieder in das Verzeichnis kopiert werden.

Auslöser für das erneute Erzeugen des Sieve-Filters wären z.B. Änderungen am Benutzer-Objekt in Univention Admin auf den Karteikarten ‘Groupware’, ‘Terminannahme’, ‘Abwesenheitsnotiz’ oder ‘Mail’.

Mit freundlichen Grüßen
Lars Rehe

Genau so dachte ich das mir. Das wäre ja kein Problem.
Haben Sie zufällig weitere Informationen wie dieses Byteformat aussehen muss oder ein Script welches normale Sieveskripte umwandelt?

MfG

Ingo Ebel

Sehr geehrter Herr Ebel,

die Sieve-Skripte werden mit dem Sieve-Compiler /usr/lib/cyrus/bin/sievec übersetzt. Die Aufrufsyntax lautet

root@mailserver:~# /usr/lib/cyrus/bin/sievec
Syntax: /usr/lib/cyrus/bin/sievec [-C <altconfig>] <filename> <outputfile>

Mit freundlichen Grüßen
Lars Rehe

Mastodon