Filterregeln auf dem Mailserver

Der Mailserver basiert auf der Cyrus IMAPD Software. Er bietet die Möglichkeit, jede eingehende Mail durch kleine, in der Programmiersprache "Sieve" (RFC3028) geschriebene Programme, verarbeiten zu lassen. Jeder Benutzer hat die Möglichkeit, solch ein Programm zu erstellen.

Damit kann er z.B. E-Mails nach verschiedenen Kriterien untersuchen und diese dann an eine andere Mailadresse weiterleiten, eine Abwesenheitsnotiz erstellen, die Mail in bestimmte Ordner einsortieren oder als gelesen oder wichtig kennzeichnen.

Bis zu 5 Programme können auf dem Server abgelegt werden, davon kann jedoch immer nur ein einziges aktiv sein. Für die Erstellung solcher Programme gibt es verschiedene Möglichkeiten:

  • Webinterface smartsieve 'GUI'
  • Webinterface smartsieve 'advanced mode'
  • Andere Sieve-Editoren

Webinterface smartsieve 'GUI'

Zum Anlegen von Sieve-Programmen über das Web-Interface loggt man sich hier ein:

webmail.tu-harburg.de/smartsieve

Einige Beispiele im GUI Mode:

Webinterface smartsieve 'advanced mode'

Auch dazu muss man sich auf https://webmail.tu-harburg.de/smartsieve einloggen.

Der standardmäßig nach dem Einrichten des Accounts angelegte Sievefilter "tuhh-default" wurde im 'advanced mode' geschrieben und wird von smartsieve in einem Textfenster angezeigt. Es besteht aus reich kommentiertertem Programmtext, den man direkt im Browser bearbeitet und abspeichern kann.

Bei Syntaxfehlern klappt das Abspeichern nicht und die Fehlermeldung des Compilers wird angezeigt, man braucht keine Sorge zu haben, während des Bearbeitens Mails dich Syntaxfehler im Script zu verlieren.

Einige Beispiele für Sieve-Scripte:

Man kann jederzeit durch Klick auf "advanced Mode" in diesen Modus wechseln und weitere Scripte erzeugen.

Andere Sieve-Editoren

Andere Sieve-Editoren sind möglich. Der TCP-Port 4190 der Mailservers ist freigeschaltet und kann genutzt werden, um Sieve-Scripte mit beliebigen client-Programmen hoch- und runter zu laden oder vorhandene Scripte zu aktivieren und deaktivieren.

Das einfachste Programm dafür ist sieveshell unter Linux, ein ftp-client ähnliches Kommandozeilentool. Man schreibt den sieve-code mit seinem Lieblingseditor in eine Datei, z.B. mit vi, nano, emacs und läd ihn mit sieveshell auf den Mailserver. Der Befehl sieveshell steht z.B. auf dem ssh-Server zur Verfügung und verwendet dort Kerberos-Tickets zum Login. Aber per Passwortauthentifizierung ist das auch von anderen Rechnern aus möglich.

Beispiel für die Nutzung:

ssh:~$ sieveshell mail.tu-harburg.de
connecting to mail.tu-harburg.de
> help
Usage:   sieveshell [-u username] [-a authname] [-r realm] <server>

help             - this screen
list             - list scripts on server
put <filename> [<target name>]
                 - upload script to server
get <name> [<filename>]
                 - get script. if no filename display to stdout
delete <name>    - delete script.
activate <name>  - set a script as the active script
deactivate       - deactivate all scripts
quit             - quit
> list
std-bu tuhh-default smrtsieve std <- active script
> get tuhh-default
#Mail filter rules for nobody-at-special
#Generated by prototype using SmartSieve 1.0.0-RC2 2009/05/18 11:01:44
require ["fileinto","vacation"];
[...]
#mode&&advanced
> quit