Roundcube - Filter

Aus Hostsharing Wiki
Wechseln zu: Navigation, Suche

Roundcube - Filter

Das Webmailprogramm Roundcube erlaubt Emails automatisch zu Filtern. Dieser Artikel beschreibt, wie mit der Erweiterung sieverules solche Filter definiert werden können.

Allgemeines zum Filtern

Über das Mailzustellungsprogramm Deliver ist es mit der Erweiterung Managesieve möglich Emails beim Eintreffen in der Mailbox zu Filtern. Die Filterung findet hierbei bereits auf dem Server statt, so daß der User nicht mit seinem Mailprogramm oder Webmailer eingeloggt sein muß.

Hierbei ist es möglich u.a. folgende Aktionen durchzuführen

  • Mails in einen bestimmten Ordner abzuspeichern
  • Mails an einen anderen Empfänger weiterzuleiten
  • eine Abwesenheitsmeldung zu verschicken
  • den Empfang einer Email abzulehnen
  • eine Mail zu löschen

Die Ausführung dieser Filteraktionen kann gesteuert werden z.B. basierend auf

  • dem Absender der eintreffenden Email
  • des Titels oder Teilen hiervon
  • dem Vorhandensein oder Nichtvorhandensein bestimmter Wörter im Text der Nachricht
  • die Auswertung von zusätzlichen Mail-Headern.
Einstellungen

Detaillierte Informationen können z.B. der Wikipedia oder unter sieve.info entnommen werden. Im Hostsharing-Wiki unter Managesieve sind ebenfalls weitere Grundlageninformationen zu finden.

Einrichtung

Hinweis: Wenn der Nutzer schon eine .forward mit z.b. procmail nutzt muss wie unter Zusammenarbeit_mit_Procmail beschrieben ist beachtet werden.

Filter können unter Einstellungen eingerichtet und verändert werden. Hierzu im Menu Einstellungen den Reiter ganz rechts Filter auswählen.


Ungefilterter Posteingang

Für die folgenden Beispiele wird davon ausgegangen, daß der Nutzer in seinem Posteingang ohne Filter die Situation, wie im Bild oben angezeigt vorfindet: Viele Emails aus (drei) Mailinglisten und eine private Email. Alle Mails sind in einem Ordner und erschweren das Finden der ggf. wichtigen privaten Email.

Neuen Filter anlegen

Zunächst soll ein neuer Filter angelegt werden, der die Emails der Mailingliste otrs-de [1] in einen eigenen Ordner verschiebt.

Hierzu unter der (leeren) Filterliste auf das + zum Anlegen eines Neuen Filters klicken.

Anlegen eines Filters für eine Mailingliste

Im neu geöffneten Formular kann der neue Filter definiert werden.

  • Filternamen vergeben: zum Beispiel OTRS für die entsprechende Maillingliste (oder zur besseren späteren Erinnerung: "Mailingliste otrs-de"). OTRS
  • Filterregel: Hier wird definiert unter welchen Bedingungen der Filter angewandt werden soll.
    Drei Optionen stehen zur Auswahl
    • Irgendeine Bedingung muß erfüllt sein (ODER)
    • Alle Bedingungen müssen erfüllt sein (UND) Auswählen
    • Die Bedingung ist für alle Emails gültig (keine Bedingung notwendig)
  • Die Definition der Filterregel beinhaltet das Auswahl eines Teils der Nachricht (z.B. Absender, Datum, Betreff, Text) und einem Wert, mit dem verglichen werden soll. In unserem Beispiel: BETREFF enthält [otrs-de]
  • Filteraktion: Die Aktion, die ausgeführt werden soll. Verschiebe Nachricht nach OTRS

Bei Aktionen, die Nachrichten in andere Ordner verschieben oder kopieren werden die möglichen Ordner die zum Zeitpunkt der Filteranlage existieren in einem Drop-Down-Menu angezeigt.

  • Speichern


Filter für Mailingliste über Mail-Header und Ausnahme

Weitere Beispiele

Maillinglisten Filter

Im Beispiel rechts werden wieder die Emails einer Mailinglliste gefiltert. Hier handelt es sich um die Technik-Liste von Hostsharing.

Der Filter erhält folgende Kriterien:

  • Filterregel: Der Filter wird nicht angewandt, wenn der Text der Nachricht das Wort "Festplattencrash" enthält, der Empfänger, solche Emails also in seinem Posteingang behalten möchte.
    Darüber hinaus wird die Mailingliste identifiziert über den Mail-Header List-Id. Solche zusätzlichen Mail-Header können über die Auswahl "Anderer Header" ausgewählt werden.
    Beide Bedingungen müssen erfüllt sein (UND), also "trifft alle folgenden Regeln" auswählen.
  • Filteraktion: Wie im ersten Beispiele wieder das Verschieben in einen Ordner, hier hostsharing.


Abwesenheitsmeldung

Abwesenheitsmeldung

Nutzer möchten oft bei längerer Abwesenheit dem Absender einer Email mitteilen, daß sie die empfangene Email z.B. wegen Urlaubs nicht lesen können. Hierzu kann eine Abwesenheitsmeldung definiert werden, die automatisch eine Antwort-Email generiert mit einem vordefinierten Text.

Im Beispiel sollen die Absender "peter.lustig" und "Wickie" keine Abwesenheitsmeldung erhalten, sowie bei Emails, die das Wort "Werbung" im Betreff enthalten auch keine Abwesenheitsmeldung verschickt werden.

  • "Absender enthält nicht 'peter.lustig'" - Ein Vergleich mit der Email-Adresse wird durchgeführt.
    Peter <peter.lustig@example.org> - Hier ist peter.lustig in der Adresse enthalten
    Peter.Lustig <peter@example.org> - Hier ist peter.lustig nicht in der Adresse enthalten.
  • "Anderer Header "From" enthält nicht 'Wickie'" - Ein Vergleich mit der kompletten Absender-Angabe wird durchgeführt
    Susanne <wickie@example.org> aber auch Wickie <susanne@example.org> werden gefunden
  • "Betreff enthält nicht 'Werbung' - Das Wort Werbung darf nicht im Betreff enthalten sein.

In den Filteraktionen wird die Aktion "Abwesenheitsmeldung" ausgewählt.

  • Absender: Hat man mehrere Identitäten in Webmail angelegt, kann man hier aussuchen unter welchem Absender die Abwesenheitsmeldung geschickt werden soll.
  • Alias: Die Vacation-Extension schickt Abwesenheitsmeldungen nur wenn die Mail an eine dem System für diesen Account bekannte Email-Adresse geschickt wurde. Im konkreten Fall bei der Erstellung über Roundcube müssen also für jede Email-Adresse Identitäten angelegt werden, also z.B. sowohl max.mustermann@example.org und maexchen@example.org. Diese müssen dann auch unter "Alias" explizit ausgewählt werden. Werden Emails an den Account mit einer anderen Empfänger-Adresse geschickt, erhalten diese keine Abwesenheitsmeldung. siehe auch RFC5230 Abschnitt 4.5
  • Zeitraum: Sagt aus, nach wieviel Tagen ein Absender eine erneute Abwesenheitsmeldung erhält. Im Beispiel also z.B. nur einmal alle 3 Tage. Wenn der Absender dazwischen neue Emails versendet, erhält er keine neue Abwesenheitsmeldung. Nach 3 Tagen wird bei erneuten Emails wieder eine Abwesenheitsmeldung verschickt. Hierz speichert sich deliver eine Liste der Empfänger.
  • Betreff: Der Betreff der Abwesenheitsmeldung, z.B. "Abwesenheit - Urlaub"; der originale Betreff der Email kann zur Identifizierung angehängt werden.
    Wird also automatisch auf eine Mail "Geburtstagseinladung" geantwortet, wäre der Betreff der Abwesenheitsmeldung "Abwesenheit - Urlaub Geburtstagseinladung".
  • Nachricht: Der eigentliche Text der Abwesenheitsmeldung, z.B. Dauer der Abwesenheitsmeldung, Vertretungsregelung, Erreichbarkeit.
Reihenfolge Filter ändern über Pfeile
Nach Änderung der Reihenfolge
Reihenfolge von Filtern

Insbesondere bei Abwesenheitsmeldungen ist die Reihenfolge der Filter wichtig. Im Beispiel links wird der Filter "osm" erst nach der Abwesenheitsmeldung angewandt, Mails, die durch diesen Filter nicht schon wegsortiert wurden, erhalten also eine Abwesenheitsmeldung. Wenn dies unerwünscht ist, muß der Filter vor den Filter der Abwesenheitsmeldung verschoben werden (über die Pfeile rechts neben des Filterliste).


In (u.a.) folgenden Fällen werden Abwesenheitsmeldungen vom System nicht verschickt:

  • Die Absenderadresse deutet auf eine Mailingliste hin, z.B. beginnt mit: mailer-daemon, listserv, majordomo, owner- oder enthält -request
  • Es existiert ein Header "Precedence" der junk, bulk oder list enthält.
  • Der Empfänger der Nachricht steht nicht in To oder Cc.
  • Sender und Empfänger haben dieselbe Email-Adresse.
TEXT

Kopie an anderen Empfänger versenden.

Eine erhaltene Email soll an eine andere Email-Adresse (in Kopie) weitergeleitet werden, z.B. von der Privatadresse an die Geschäftsadresse.

  • Filterregel: In diesem Beispiel soll der lokale Teil der Absender-Adresse verglichen werden. "Absender" wählen, dann "weitere Optionen" (1) und unter Operatoren User-Teil gleich. (2)
    Im Beispiel wurde der User-Teil mit susanne.musterfrau (3) angegeben. Zur Email-Adresse susanne.musterfrau@example.de wird ein Match gefunden für sara-susanne.musterfrau@example.org hingegen nicht, weil der lokale Teil der Email-Adresse nicht übereinstimmt.
  • Filteraktionen: "Sende eine Kopie an" wählen (4) und eine Ziel-Adresse angeben.


Filter abschalten
Filterübersicht im inaktivem Filter

Filter deaktivieren/aktivieren

Soll ein Filter temporär deaktivitert werden, kann in der Filterbearbeitung Filterregel abschalten angeklickt werden. In der Filterübersicht ist der Filter dann als "(abgeschaltet)" markiert.



Nach dem Filtern

Nach dem Filtern

Die im obigen Beispiel gezeigte Inbox mit über 200 Emails sieht nach Anwendung der Filter wie im nebenstehenden Bild aus.

  • Im Posteingang (1) ist nur noch eine private Email vorhanden
  • Die Emails and die Mailinglisten wurden in die jeweiligen Ordner (2) einsortiert.

Technisches

Speicherort

Roundcube speichert die erstellten Regeln unter

 ~/Maildir/sieve/roundcube.sieve

und verlinkt diese Filterdatei automatisch für die Benutzung mit dovecot:

 xyz00@h01:~$ ls -al 
 drwxr-xr-x  5 xyz00-max xyz00  4096 Nov 16 07:28 .
 drwxr-xr-x 28 xyz00-max xyz00  4096 Oct 22 23:06 ..
 lrwxrwxrwx  1 xyz00-max xyz00    29 Nov 16 07:28 .dovecot.sieve -> Maildir/sieve/roundcube.sieve

Wurden von anderen Programmen -- oder manuell -- andere Filtersets angelegt, werden diese vom Plugin deaktiviert. Die ursprüngliche Filterdatei bleibt erhalten, aber obiger Symlink verweist dann auf die Roundcube-Filter.

Manuelles Editieren

Vom manuellen Bearbeiten der Filterdatei roundcube.sieve wird abgeraten, da bei erneutem Einlesen durch das Roundcube-Plugin diese Regeln mit großer Wahrscheinlichkeit wieder automatisch umgeschrieben werden.

Für komplexeres Filtern kann eine komplett manuelle Datei angelegt werden und entsprechend verlinkt werden. Siehe auch den Artikel zu Managesieve.

Quelle

Das Plugin sieverules kann unter [2] heruntergeladen werden. Ein Userforum zum Plugin gibt es im Roundcubeforum.

Links

Einige Sieve-relevante Links, sind im entsprechenden Managesieve Wiki-Artikel angegeben: