<<

54 Titelthema -Magazin 06/07 Sieve © Alex-,photocase.com Ausgesiebt Server-seitige Mailfilter mit Sieve oder wegsperren, ohne den Maildienst damit zu belasten. RFC standardisiert. Unerwünschte Nachrichten mit Spam oder Viren können Sieve-Skripte automatisch löschen E-Mails auf dem Server filtern befreit von überflüssigem Ballast: Die leistungsfähige Skriptsprache Sieve ist als e Bnte, ee ahihe auto Nachrichten neue Benutzer, dem oen E--Clients Moderne eai af Mle sc dn dr Be der dann sich Meldet auf. negativ hier fallen Virenchecks und Spam- ven rechenintensi die besonders Postbenötigt, der Abholen zum es die spanne, Filterregel Zeit die verlängert Jede Mailprogramms des Tücken: ihre jedoch haben Filterregeln Client-seitigen Diese löschen. zu Abholen beim direkt Spam beispielsweise und sortieren zu matisch ette es gestatten - - - - fenbar nur der halbe Weg. of ist speichern zu Server dem auf geln Re die Allein sind. eingetragen neuen System im Filterregeln alle bevor Zeit, vergeht auch bei diesen Lösungen einige Groupware andere eine auf Migration einer bei aber Regeln, alten Versiondie neue die Upgrade einem bei übernimmt Regeln.Speichern der das Fallbesten Im für Lösungen proprietäre Systeme len kommerziel die verwenden Allerdings en esheee Mailpro verschiedene Wenn dem auf IMAP-Server landen. Posteingang seinem in matisch löschen, immer noch o Micin oe vom Webfrontend aus. oder Mailclient vom Regeln die Benutzer der riert verfügen. Filterregeln für Funktionen Import/ Export- keine Mailclients über meisten die da werden, zusammengeklickt grationen mühselig von Hand Regeln Mi bei und gepflegt doppelt alle müssen men, kom Einsatz zum gramme Evolution oder Outlook auto Outlook oder Evolution ,Viren-Mails,die und Spam dass fest, enttäuscht er stellt an, Squirrelmail wie Webmailer einem mit nutzer ägr bi he administ ihnen bei länger, schon das bieten Scalix oder Exchange wie waresysteme verwalten. Proprietäre Group- zu zentral und Mailserver speichern zu dem auf gleich Besser ist es daher, die Regeln Regeln Server-basierte Markus Feilner ------xm n eng kmezel Mailser kommerzielle einige und etg Fleug o EMi namens E-Mail Sieve von Filterung seitige Server- die für Standard definierte RFC per und offene der erst schafft Abhilfe pah fr itreen mas auto umfasst Filterregeln für Sprache [4] TransferMail Local (LMTP,Protocoldas inte Groupwaresystemen vielen in Der Cyrus IMAP und Sieve e etpehne retrne. Da Erweiterungen. entsprechende ver unterstützte, erst kürzlich bekamen Cita Sieve-Standard den der Mailserver, zige ein der lange war Cyrus-Mailserver Der sofort vollständig auch zustellen kann. sie Server der wenn gen, übertra nur Nachricht eine dabei kann gene Warteschlange verfügen. Der Client ei keine über die entwickelt,verdienste Ser für speziell wurde und Mailservern zwischen Kommunikationlokale die für Protokoll SMTP-ähnliches ein ist LMTP geln in die Postfächer sortiert. Sieve-Reden nach Mails die der Agent, Delivery Mail Local als fungiert und rus Filterregeln über das Managesieve-Proto Remote-Administrationvon die für ved« »timsie Dienst den auch IMAP und POP neben bietet Cyrus-IMAP-Server grierte sowie zahlreiche Erweiterungen. Nachrichten von Sortieren und notizen Abwesenheits Weiterleitung, matische Filtering Language“ Mail A – „Sieve dann 3028 RFC fizierte spezi 2001Jahre im Bereits übernahm. erster als Cyrus-POP/ IMAP-Server der University die Sieve-Implementation, die 1999 veröffentlichte die Carnegie Mellon diskutiert, 1994 seit wurden tersprache e ( del koll ) mit den anderen Diensten von Cy von Diensten anderen den mit ) [3] bidn 1 Abbildung [1] Tmivd omnzet über kommuniziert Timsieved . Füe esoe dee Fil dieser Versionen Frühe . , oeo, DBMail, , ), [2] . Die einheitliche ------Titelthema Editor auf dem Sieve-Server und akti- viert es anschließend mit einem Tool na- mens Sieveshell. Als dritte und wohl angenehmste Mög- Sieve lichkeit erstellt er das Skript lokal auf seinem Client und lädt es danach auf den Server. Dabei helfen ihm E-Mail- Programme, die Sieve-Skripte bereits un- 55 terstützen, sowie ein eigener KIO-Slave unter KDE. Letzterer ist auch in Kmail eingebunden und ermöglicht das direkte

Abbildung 1: Viele Groupwareserver wie etwa Citadel unterstützen Sieve-Skripte und bieten umfangreiche Editieren der Filterregeln über einen 06/07 Linux-Magazin Weboberflächen, mit denen die Benutzer Filterregeln anlegen und bearbeiten können. Menü-Eintrag aus der KDE-PIM-Anwen- dung heraus. Cyrus bei zahlreichen Groupwareprojek- die Mails bereits in die zugehörigen Ord- Auch Mulberry, Squirrelmail und Emacs ten erste Wahl ist, unterstützen Herstel- ner sortiert. Als angenehmer Nebenef- können (mit den passenden Erweiterun- ler wie , , Openxchange und fekt wird dadurch auch das Abholen von gen) Sieve-Skripte editieren und spei- den freien Standard gerne und in- E-Mail deutlich beschleunigt und bean- chern. Bei anderen Mailclients schaut es tegrieren eigene Frontends für die Admi- sprucht weniger Rechenleistung auf dem jedoch noch schlecht aus. nistration. Mit dem Openxchange Oxten- Client und spart Bandbreite. Die etwas der erstellt sogar seine längere Bearbeitungszeit der E-Mail auf Syntax Filterregeln als Sieve-Skripte. dem Server fällt dagegen in den meisten Andere Hersteller wie Scalix setzen in ih- Umgebungen nicht ins Gewicht Eine Sieve-Regel ist aus mehreren Teilen rer Entwicklung auf den freien Standard aufgebaut: Kontrollstrukturen wie Bedin- und arbeiten daran, die eigenen, propri- Sieve-Skripte erstellen gungen, Matching Rules und Handlungs- etären Systeme zu ersetzen. Den freien anweisungen. Die Regeln lassen sich, Mailservern und UW-IMAP fehlt Der Benutzer kann sein Sieve-Skript auf wie bei anderen Regelassistenten auch, aber derzeit offensichtlich eine Sieve-Im- mehrere Arten erstellen. Im einfachsten als ganze Sätze formulieren: Wenn der plementation. Falle verwendet er ein Webinterface wie Absender »mfeilner@linuxnewmedia. Avelsieve (Abbildung 4), Smartsieve, de« ist, dann verwerfe die Mail. Basie- Wie das Sieben funktioniert Websieve (Abbildung 5) oder das Web- rend auf RFC 3028 [7] unterstützen die frontend seiner Groupwarelösung. Deren Sieve-Implementationen mindestens die Auf einem POP- oder IMAP-Server defi- Webmailer bieten meist ein bequemes Aktionen »keep«, »discard«, »redirect«, niert der Benutzer Filter, die der Server Interface zur Erstellung von Filterregeln, fast immer auch die Erweiterungen »re- auf eingehende Mails anwendet. In ei- wie es etwa bei Citadel, Kolab, Bynari ject« und »fileinto« (Tabelle 1). ner Textdatei kombiniert er dazu Tests, oder Openxchange der Fall ist. Standardaktion ist »keep«. Wenn nichts Bedingungen und Aktionen zu Filterre- In diesen Fällen klickt der Benutzer mit anderes definiert ist, hinterlegt Timsie- geln. Diese Datei kommt in das Sieve- der Maus auf Einträge in Dropdown- ved die E-Mail im Posteingang des Be- Verzeichnis des Users. Der Server wertet Menüs und baut sich so seine Filter zu- nutzers. Mit »discard« löscht er die be- diese Skripte jedes Mal automatisch aus, sammen (Abbildung 1). Alternativ dazu treffende Nachricht und bei »redirect« wenn er eine neue Mail für den Benutzer schreibt er das Skript selbst in einem leitet der Mailserver sie zu einer belie- entgegenimmt. Die Anweisungen in der Skriptdatei wen- Tabelle 2: Tests und Matches det er auf jede eingehende Mail an, un- Schlüsselwort Funktion abhängig davon, ob, wann oder mit wel- Matching Rules chem Client der Benutzer seine E-Mails :is Absoluter Match, ein Header muss nur genau dieses Muster enthalten abholt. Wenn ein Mailclient die Verbin- :contains Substring Match, im Header stehen neben dem Muster andere Zeichen dung zum Server aufbaut, hat der Server :matches Wildcard Match, Platzhalter wie »*« und »?« sind erlaubt Schlüsselwörter für Tests Tabelle 1: Sieve-Aktionen anyof Wenn eines der folgenden Kriterien zutrifft (OR) Name Aktion allof Wenn alle der folgenden Kriterien zutreffen (AND) keep Mail im Posteingang behalten, header Wenn das folgende Kriterium auf den Header zutrifft discard verwerfen, size Wenn das folgende Kriterium auf die Größe der E-Mail zutrifft redirect umleiten, exists Wenn das folgende Kriterium existiert (zum Beispiel ein Header) reject ablehnen, not Umkehrung fileinto in Ordner einsortieren. address Wenn die folgende Adresse in einem der Adressfelder der Header vorkommt stop Prüfung beenden. envelope Wenn der spezifizierte Teil des SMTP-Envelope übereinstimmt 56 Titelthema Linux-Magazin 06/07 Sieve 07 06 05 04 03 02 01 12 11 10 09 08 07 06 05 04 03 02 01 "IMPLEMENTATION" "Cyrus timsieved timsieved "Cyrus "IMPLEMENTATION" '^]'. is character Escape sieveserver... to Connected 192.168.0.1... Trying sieve 192.168.0.1 telnet mfeilner@abulafia:~> In dringenden Fällen steht Ihnen..." steht Fällen dringenden In beantworten. Woche nächste Nachricht Ihre werde und Haus ausser Woche diese bin ich E-Mail, Ihre für Dank "Vielen "mfeilner@linuxnewmedia. :addresses 5 :days vacation "vacation"; require mfeilner@abulafia:~> host. foreign by closed Connection Logout OK "STARTTLS" vacation envelope reject "fileinto "SIEVE" LOGIN" "PLAIN "SASL" v2.2.12-Debian-2.2.12-4ubuntu1" de" :subject "Out Of Office Reply" Office Of "Out :subject de" regex" comparator-i;ascii-numeric relational subaddress notify imapflags Mailserver alle E-Mails, in deren Betreffderen in E-Mails, alle Mailserver der damit aus,reichen Zeilen fünf Diese } stop; discard; { "SPAM" "Subject" :contains header if an sinnvoll Aktionen die Sieve Damit einsortiert. Mail den veranlasst»reject« Anweisung Die um. E-Mail-Adresse anderen bigen zeile der Begriff »SPAM« auftritt, selbst »SPAM«auftritt, Begriff der zeile in einem Sieve-Skript sieht so aus: Anweisungsblocks eines Beispiel faches ein Ein Benutzers. des Eingangsordner im einfach »stop« einem nach Nachricht dere Aktion ausgeführt wurde, an landet die keine Wenn E-Mail. der arbeitung Verdie beendet »stop« Kommando Das Klammern geschweifteund Strichpunkte. durch gruppiert möglich, Anweisungen von Blöcke geschachtelte den Schlüsselwörtern »elseif« und »else« sind mit Zusammen das »if«-Kommando. dient Bedingungen zwischen gen Unterscheidun Für Bedingungen. und Kontrollstrukturen es benötigt wendet, Mailboxordner einen in Nachricht die wird »fileinto« Mit zurückzuschicken. Absender den an Mail die dazu, server Listing 2: Abwesenheits- Listing 1: Telnet-Sitzung mit Sieve Benachrichtigungen

------eabiug e Mi a dee Stelle. dieser an Mail der Verarbeitung die beendet »stop« Löschen, sofortige das für steht »discard« Anweisung Die endet. Strichpunkt einem mit Zeile jede wobei notiert, Klammern in geschweiften werden Anweisungen Mehrzeilige Gruppieren von Tests An Die genauer: Etwas löscht. ständig Abbildung 2: Gegensatz zu »:is« reicht es für die Mat die für es reicht »:is« zu Gegensatz »SPAM«Im vorkommt.Zeichenkette die »Subject« Bezeichnung der mit Header anzuwenden,alle Mails inderen E-Mail- auf Zeilen folgenden der Anweisung die dazu, Server den veranlasst "SPAM"« "Subject" :contains header »if weisung auf folgenden Inhalt hat. nur zu, wenn der Header genau den dar »:is« trifft Dagegen vorkommt. im Header Stelle irgendeiner an die Zeichenkette wenn aus, »:contains« Rule ching öffnen. Konqueror zeigt die Skripte dabei wie ein lokales Dateisystem an. Tabelle 3: Sieve-Erweiterungen mime edit header body variables copying spamtest virustest regex relational subaddress notify imapflags vacation Vergleichsoperator, der auf das Vorkommen von Zahlen am comparator-i;ascii-numeric envelope reject fileinto Sieve-Erweiterung Mit dem KIO-Slave für Sieve kann jedes KDE-Programm Sieve-Skripte direkt auf dem Server Tests und Veränderung von Mime-Parts Beliebige Header einer Mail verändern Den Body einer Mail durchsuchen Variablen in Sieve-Skripten verwenden Einfaches Kopieren (RFC 3894) Spam- und Virentest (RFC 3685) Reguläre Ausdrücke Größer/ kleiner-Vergleiche von Feldern im Header Unterstützung von Subadressen (RFC 3598) Versenden von Benachrichtigungen beim E-Mail-Eingang Verändern der IMAP-Flags auf einem Server Abwesenheits-Benachrichtigung senden Anfang eines Strings testet SMTP-Envelope prüfen Nachricht zurückweisen Mail in einen Ordner einordnen Funktion - - - } stop; discard; { ) "VIRUS" "Subject" :contains header "SPAM", "Subject" :contains header ( anyof if thn Nbn ie lne Lse von möglichen Tests bieten Liste die Schlüsselwör langen einer Neben stehen. mehr Komma kein allerdings darf sung Betreffzeile enthalten, sofort: ihrer in »VIRUS«»SPAM« entwederoder Das folgende Skript löscht alle Mails, die andere Tests miteinander zu verknüpfen. Möglichkeit, die »allof« oder »anyof« ter Anwei einer Zeile letzten der Ende Am Kommata separiert ein. innerhalb der If-Kontrollstrukturen durch rahmenAufzählungenmern mehrzeilige Anweisungen voneinander. Runde Klam der Parameter die trennen Leerzeichen - - - Titelthema Wird hier »anyof« durch »allof« ersetzt, Analog zu Include-Direktiven anderer »Bcc:«. Eckige Klammern begrenzen da- dann löscht der Server nur die Mails, de- Skriptsprachen lädt das Kommando »re- bei die durch Kommata getrennte Liste ren Subject sowohl »SPAM« als auch »VI- quire« in den ersten Zeilen eines Sieve- der Header. Alle E-Mails, die in den Fel- RUS« enthält, was einer logischen UND- Skripts Erweiterungen hinzu. Das Skript dern »To«, »Cc« oder »Bcc« die Adresse Sieve Verknüpfung entspricht. im folgenden Beispiel filtert dementspre- »[email protected]« enthalten Mailscanner wie Amavis, Spamassassin chend nicht mehr nach der Betreffzeile, und bei denen die Zeichenkette »YES« und Clam AV fügen den Betreffzeilen der sondern wertet verschiedene Header der im Header »X-Spam-Flag« vorkommt, als Spam- oder Viren-verseucht erkann- E-Mail aus: werden mit dieser Regel automatisch in 57 ten E-Mails unter anderem diese Schlüs- den IMAP-Ordner »INBOX.Spam« einsor- require "fileinto"; selwörter hinzu. tiert. Im Namespace des Cyrus-Mailser- if allof ( header :is "X-Spam-Flag" "YES", vers entspricht dies dem Ordner »Spam« Mails automatisch sortieren header :contains ["To", "Cc", "Bcc"] U im Posteingang. 06/07 Linux-Magazin "[email protected]" Mit der oben beschriebenen Sieve-Regel ) { Matching Rules könnten Spam- und Viren-Mails automa- fileinto "INBOX.Spam"; tisch gelöscht werden. Das ist allerdings stop; Im X-Spam-Header steht nur »YES« oder in vielen Fällen rechtlich fragwürdig, } »NO«, während in jenen Feldern, in de- deshalb ist es besser, Spam und Viren nen eine E-Mail-Adresse steht, der Mail- in gesonderte Ordner zu verschieben. Ein von Spamassassin hinzugefügter client des Absenders auch zum Beispiel Dafür benötigt Sieve die Erweiterung Header ist »X-Spam-Flag«. In ihm steht »fileinto«. Sie ist im Standardumfang des »YES«, wenn die Mail als Spam erkannt Listing 3: Auszug aus »cyrus.conf«

Cyrus-Mailservers enthalten. Wenn sie wurde, »NO«, wenn die Mail wahr- 01 # useful if you need to give users remote access to sieve geladen ist, kann Sieve eine E-Mail mit scheinlich kein Spam war. Das Beispiel 02 # by default, we limit this to localhost in Debian der Anweisung »fileinto« in einen Ord- filtert außerdem nach der Empfänger- 03 sieve cmd="timsieved" listen="localhost:sieve" ner einsortieren. adresse in den Feldern »To:«, »Cc:« und prefork=0 maxchild=100

Anzeige 58 Titelthema Linux-Magazin 06/07 Sieve seine Skripte direkt auf dem Server editieren kann. :otis ud :ace« Dr abso Der »:matches«. und »:contains« usrn ud idad ac: »:is«, Match: Wildcard und Substring Abbildung 3: Mru Finr « Tabelle 4: Einstellungen in »imapd.conf« ivueoei:0 Ob Sieve-Skripte in ~/ home/ .sieve abgelegt werden sollen Benachrichtigungsmethoden für die Notify-Erweiterung von Sieve Verzeichnis für Sieve-Skripte sieveusehomedir: 0 Maximale Anzahl an Skripten pro User sievenotifier: sievedir: /usr/ sieve Maximale Größe in KBytes für Sieve-Skripte sieve_maxSkripts: 5 sieve_maxSkriptsize: 32 f32_tit RFC 3028 wird streng ausgelegt, nur die Header, die per Definition Pfad : zu /usr/Sendmail, das Sieve verwendet, um Abwesenheitsnachrich lib/ sendmail rfc3028_strict: 1 Parameter 2 Tabelle Der KDE-Groupwareclient Kontact integriert einen einfachen Sieve-Editor, mit dem der Benutzer , älc Absolute, nämlich ), ten und Rejection Mails zu versenden Rules getestet Adressen enthalten, werden bei den entsprechenden Matching Funktion - - - - -

i Göe ie EMi ud sortiert Ord und den in MByte 10 über E-Mails E-Mail alle einer Größe die } "INBOX.BIG"; fileinto { 10M :over size if des SMTP-Envelope einer E-Mail und ge Teileauf VorkommenAdressenund von E-Mail, der Größe vonHeadern, densein cwlewr, ärn »udr auf »:under« während einstellbaren Schwellenwert, einem über E-Mails alle trifft »:over« Anweisung Die »BIG«. ner tet das Sieve-Skript tes Dagegen steht. Header der einem in Adresse die wenn aus, Aktion gegebene an danach die führt und lauten, zin.de« b is eat »mfeilner@linux-maga exakt diese ob sind, Adressenerlaubt Header,denen in "[email protected]"« prüft alle Tests."from" :all Test:is Der address »if dieser Verknüpfungen beliebige stattet ------Abläufe dieses Protokolls genauen sind in der Ma Die kann. verschlüsseln TLS mit Sieve-Protokoll das und unterstützt und Timsieved, der zwölf Erweiterungen Cyrus mit Ubuntu-Server einen um sich uhacie idn ih i entspre die sich finden Suchmaschine ud see he fr ioye Me Kilobyte, für hier stehen G und M kleiner K, Größenangabe. folgende die die als sind zutrifft, Nachrichten alle e IETF der Seiten den auf die an, Drafts die bieten Erweiterungen den zu Dokumentation beste Die standardisiert. allerdings sind it dr ntlire Erweiterungen installierten der Liste die auch Server den über Informationen neben erhält und aufbauen Sieve-Server einem zu Verbindung der eine an Befehlszeile Benutzer der kann Telnet Mit den Ordner »MEDIUM«. in MByte, 2 und 1 zwischen hier sortiert E-Mails einer bestimmten Größe, } "INBOX.MEDIUM"; fileinto { ) 2M :under size 1M, :over size ( allof if gen, ( für Sieve Erweiterungen zahlreiche gibt Es Erweiterungen für Sieve ( hält er nur alle fünf Tagefünf alle Abwesennur eine er hält er sendet, E-Mails mehrere ein Absender wenn Selbst 5«: »:days Parameter der ist Detail interessantes Ein Listings. des Zeile dritten der Textab der tigung Benachrich der Body im Reply«, Office Of »Out steht Nachricht der Betreff Im heitsnachricht sendet. »mfeil- Adresse die Abwesen eine [email protected]« an Mail jede für Server der dass bewirkt, 2 Zeile in sung Anwei Die ein. »vacation« weiterung Abwesenheits-Benachrichtigun gezielte erlaubt Vacation Sieve-Erweiterung Die chenden Dokumente. sage-Body vornimmt. Das Skript Mes am Tests aufwändige Sieve bevor erreichen, zu E-Mails der Filterung naue Kombinierenge eine so ist Kriterien der gabyteGigabyte.oder Durch geschicktes nagesieve-Draft Die Anweisung »require« bindet die Er die bindet »require« Anweisung Die Listing 1 Listing 2 ael 3 Tabelle ). In diesem Beispiel handelt es [5] itret id Üe die Über sind. hinterlegt zeigt die passende Syntax. [3] , u wng davon wenige nur ), beschrieben. ------Titelthema heits-Benachrichtigung. Standardwert ist den Socket »/var/run/cyrus/socket/no- ren. Jeder Benutzer kann mehrere Sieve- hier »7«. Die Sieve-Anweisung: »redirect tify« und wird ebenfalls über die Datei Skripte auf dem Server halten, aber im- "[email protected]"« leitet alle E- »/etc/cyrus.conf« konfiguriert. Details mer nur eines ist aktiv. Mails, die mit dieser Aktion verknüpft dazu bietet seine Manpage. Wie Listing 4 zeigt, kennt Sieveshell Sieve sind, an die Adresse »mysecret@exam- Da die »cyrus.conf« die einzige Möglich- analog zu FTP die Kommandos »put«, ple.com« weiter. keit für Einstellungen ist, die die Sicher- »get« und »list«. Nach dem Upload mit heit des Sieve-Daemon betreffen, sollte »put« aktiviert »activate« ein Skript. Sieve und Cyrus einrichten sich der Administrator sehr genau über- 59 legen, ob er Sieve auch für andere Rech- Konqueror, Kontact und der Auf allen Distributionen ist Sieve in Ge- ner erreichbar macht oder nur auf Anfra- KIO-Slave stalt von Timsieved im Cyrus-Paket ent- gen vom Localhost lauschen lässt. SASL halten. Ist Cyrus aus den RPM- oder De- über TLS gilt zwar als sicher, trotzdem Unter KDE bietet ein Hilfsprogramm für 06/07 Linux-Magazin bian-Paketen installiert, dann finden sich sollte Sieve nur in vertrauenswürdigen Sieve, ein KIO-Slave, eine angenehme die Konfigurationsdateien in »/etc/cyrus. Netzen erreichbar oder durch passende Möglichkeit, Sieve-Skripte zu editieren conf« (Listing 3) und »/etc/imapd.conf« Firewallregeln eingeschränkt sein. und auf den Server zu laden. Nach der (Einstellungen siehe Tabelle 4). Mehr Parameter bietet die Datei »/etc/ Eingabe von »sieve://Servername« in die Hinzu kommt noch eine Datei für die imapd.conf« (Tabelle 4). Sehr interes- Adresszeile von Konqueror zeigt dieser PAM-Konfiguration in »/etc/pam.d« für sant ist hier die Option, abweichend eine Liste der Sieve-Skripte auf dem Ser- vom Standard abweichende Authentifi- vom Standard die Sieve-Skripte nicht in ver an (Abbildung 2). zierungsmethoden. Normalerweise ver- »/var/spool/sieve/[a-z]/$USERNAME« Jeder KDE-Editor kann diese direkt bear- wendet Timsieved dieselbe Konfigura- zu hinterlegen, sondern im Homever- beiten und speichern, Kate und Kwrite tion wie Cyrus, in der Regel SASL über zeichnis der User. Die maximale Größe haben sogar Syntax-Highlighting für TLS. Der Timsieved-Daemon läuft auf und Anzahl der Sieve-Skripte, die einem Sieve an Bord. Beim Speichern des dem für Sieve vorgesehenen Port 2000. Benutzer gestattet sind, wird hier eben- Skripts überträgt der KIO-Slave es sofort Meist ist dieser Port auch in der Datei falls festgelegt. auf den Server, führt einen Syntaxcheck »/etc/services« dem Protokoll »sieve« durch und aktiviert es. Diese Methode zugeordnet. In »/etc/cyrus.conf« stehen Sieveshell ist für Einsteiger, die Sieve erst kennen Parameter wie IP und Port, auf denen lernen wollen, sicherlich die ange- Timsieved lauscht (Listing 3). Lokal mit einem Editor erstellte Sieve- nehmste Methode, da jeder Fehler sofort Die Sieve-Erweiterung »notify« verwen- Skripte lädt der Benutzer mit einem angezeigt wird. det den Cyrus-Notification-Server »no- FTP-ähnlichen Programm namens »sie- Auch die KDE-PIM-Suite Kontact bietet tifyd«, um Benutzern Benachrichtigun- veshell« auf den Server. Sieveshell ver- im Hauptmenü unter »Einstellungen | gen über den Eingang von E-Mails zuzu- wendet Managesieve, um die Skripte zu Sieve-Skripte verwalten« einen minima- stellen. Er kommuniziert mit Sieve über Timsieved zu übertragen und zu aktivie- listischen Editor für Sieve-Skripte (Ab- bildung 3). Wenn in den Einstellungen des Kontos Sieve-Skripte aktiviert sind, zeigt Kontact automatisch alle bekann-

Listing 4: Sitzung mit Sieveshell

01 mfeilner:~$ sieveshell localhost 02 connecting to localhost 03 Please enter your password: 04 > help 05 Usage: 06 sieveshell [-u username] [-a authname] [-r realm] 07 08 help - this screen 09 list - list scripts on server 10 put [] 11 - upload script to server 12 get [] 13 - get script. if no filename display to stdout 14 delete - delete script. 15 activate - set a script as the active script 16 deactivate - deactivate all scripts Abbildung 4: Avelsieve, das Sieve-Plugin für Squirrelmail, unterstützt auch die Notify-Erweiterung, mit der 17 quit - quit sich Benutzer beispielsweise per SMS über den Eingang bestimmter E-Mails benachrichtigen lassen können.. 18 > 60 Titelthema Linux-Magazin 06/07 Sieve ug 4 dung Abbildung 5: Squirrel Webmailer beliebten den Für Webclients Hinter im KIO-Slave der Highlighting, Editor. Der beherrscht zwar kein Syntax- kleinen einen bietet und an Skripte ten auch Abwesenheits-Benachrichtigungen. Leider kann es im Basic-Modus nur eigene Sieve-Skripte bearbeiten. hierfür ist Websieveist ( hierfür Beispiel verbreitetes Ein können. tieren interpre selbst sie nur die hinzufügen, Tags Kommentaren in Programme ten meis die dass kommt, Dazu grammen. Speichern Änderungen von anderen Pro beim überschreiben und Syntax eigene ihre Programmenur Regelverstehendie der In sind. Sieve-Programmen anderen zu kompatibel Skripte die ob ab, sion Wie Verfügung. zur 1.9.7 sion Ver in Avelsieve Plugin das steht mail einen Syntaxcheck durch. Upload beim trotzdem aber führt grund hängt es stark von der eingesetzten Vereingesetzten der von stark es hängt Web-basiertenSieve-Frontendsallen Bei Notify und Copy unterstützt. wie Erweiterungen auch es da hervor, Sieve für Frontends zahlreichen und Aktionen. Avelsieve sticht unter den alle grundlegenden Funktionen für Filter eg, itt a Webinterface das bietet zeigt, Websieve ist das wohl verbreitetste Webfrontend für Sieve und bietet sowohl Filterregeln als Abbildung 5 Abbildung Abbil ), das ), ------editieren. Sowohl Websive als auch Avel zu dem direkt Regeln die gestattet, es Benutzer der verfügt, Mode Advanced einen über Websieve dass Gut, vergibt. Prioritäten und nummeriert Regeln die entstand erst dadurch, dass die freie Ent Die Möglichkeit für derartige Programme aktiviert Avelsieve. und auf Befehlszeile einer an »config.pl« Setup-Tool das Administrator der ruft Squirrelmail bei anzupassen, tionsdatei Konfiguraeine noch ist Eventuell cken. entpa zu Webservers des Root cument Do im »tar.gz«-Dateien die auch, nügt ge Pakete,es es aber gibt Debian Unter PHP. und Apache Cyrus-IMAP-Server, einen nur Avelsievebenötigen auch als Websieve Sowohl einfach: sich staltet ge Webfrontends der Installation Die gungen einzurichten. Verfügung steht. zur Sieve-Frontends Browser-basierten Palettean reichhaltige eine sodass thon, Libraries gibt es auch für Ruby oder Py Rubyoder für auch es gibt Libraries Ähnliche integrierte. PHP oder Perl in Managesieve.pm oder Phpsieve wie ken wicklergemeinde Managesieve-Bibliothe- Abwesenheits-Benachrichti um keiten, sieve bieten außerdem einfache Möglich ------neugn nee Porme über Programme anderer Änderungen und können laden nicht Skripte fremde Tools verbreitete dass derzeit, ist ends Sieve-Front- der Schwäche größte Die Feines Sieb Web-ba die Sieve, integrieren lösungen Sieve-Skripte flexiblen schon lange. Mehr und mehr Groupware- die schätzen und kennen IMAP Cyrus von Benutzer [11] [10] [9] [8] [7] [6] [5] [4] [3] [2] [1] Infos und funktioniert zuverlässig. portabel ist sie Mailfilter-Sprache, zierte Sieve ist die einzige in einer RFC spezifi Wunschoffen. kein fast dann bleibt gen wachsendenFamilie der Erweiterunan mit Zusammen KDE. unter wie vierung Akti automatischer und Syntax- Highlighting mit besten am erstellt, Editor fang erhält nur, Funktionsum wer die Skripte in einem ganzen Den schreiben. frontends Webwie Websieve ein. über senheits-Benachrichtigung Abweihre Benutzer mehr immer geben TrotzdemGrenzen. in noch immer aber Verbreitung seine sich hält herrschen, be nicht noch Sieve Clients meisten die UW-IMAPund Courier sowieServerwie IMAP- großen anderen die Weil stabil. und ausgereift sind Oberflächen sierten Sieve: Avelsieve: Managesieve Draft: Sieve-Support für Emacs: Sieve-Beispiele von Marcel Holtmann: IETF: RFC 3028, „Sieve: A Mail Filtering RFC 2033, „Local Mail Transfer Protocol“: Websieve: Sieve Extension Support Matrix: Sieve-Support für Mulberry: / [http:// [http:// [http:// [http:// [http:// [http:// [http:// Language“: draft projects/ SieveExtensionsSupportMatrix] mulberry -martin [http:// [http:// wiki. www. www. www. www. tools. josefsson. websieve] -sieve. [http:// [http://

fastmail. -managesieve avelsieve. www. bath. holtmann. ietf. ietf. ietf. sieve. shtml] org/ org/ org/ org/ sourceforge. . ac. ietf.

info] fm/ uk/ rfc/ internet html/ sieve/] org] php] org/ uoa. wiki/ bucs/ rfc2033.

-07. rfc3028 email/

gr/ index. -drafts/ email/ txt] net/ projects/

txt] sieve/]

]

php/ sieve/

------