Direkt zum Inhalt

Cookie-Einstellungen

Wählen Sie, welche Arten von Cookies Sie erlauben. Sie können Ihre Auswahl jederzeit über Cookie-Einstellungen unten auf jeder Seite ändern. Datenschutzerklärung

Notwendig

Immer aktiv

Nötig zum Einloggen, für Ihren Warenkorb und um Ihre Auswahl zu speichern. Diese sind immer aktiv.

Welche Cookies?
  • weboke_sessie, weboke_klant, weboke_remember: Ihre Sitzung und eingeloggt bleiben
  • weboke_basket: Ihr Warenkorb
  • wkBtwIncl: Preise mit oder ohne MwSt. anzeigen
  • wok_cookies: Ihre Cookie-Auswahl, 12 Monate

Misst, welche Anzeige zu einem Besuch oder einer Bestellung führt, damit wir nicht für Anzeigen zahlen, die nichts bringen.

Welche Cookies?
  • Google Ads über Google Tag Manager (_gcl_au, _gcl_aw), bis zu 90 Tage
  • OpenAI Ads, Anzeigen in ChatGPT
  • wok_aff: über welchen Partner Sie zu uns kamen (Partnerprogramm), 60 Tage

4,6

Land und Sprache

Jedes Land hat seine eigene Website, mit Preisen und MwSt. dieses Landes.

Anzeigen

Modul 6 · 6.1

So funktionieren Filter

Modul 6: Automatisch: Filter und Abwesenheit · Lesezeit: 10 Minuten

Lernziel: Nach dieser Lektion können Sie erklären, wo und wann Filter laufen, ein Filterskript in Sieve lesen und vorhersagen, in welchem Ordner eine eingehende Nachricht landet.

Kernbegriffe: Filter, Sieve, ManageSieve, Filtersatz, Regel, Bedingung, Aktion, implizites Behalten, stop, enthält, ist gleich, trifft auf Ausdruck zu

Filter laufen auf dem Server

Ein Filter sortiert Ihre E-Mails automatisch: E-Mails mit "factuur" (Rechnung) im Betreff in den Ordner Facturen, Newsletter in einen eigenen Ordner. Das Wichtigste vorweg: Diese Sortierung geschieht nicht in der Webmail, sondern auf dem Mailserver, und zwar in dem Moment, in dem eine Nachricht in Ihr Postfach zugestellt wird.

Daraus folgen drei Dinge:

  • Filter arbeiten auch, wenn die Webmail geschlossen ist. Ihr Laptop kann ausgeschaltet sein. Das Telefon sieht die E-Mail sofort im richtigen Ordner.
  • Filter wirken nur auf neue E-Mails. E-Mails, die bereits in Ihrem Postfach liegen, bleiben, wo sie sind. Erstellen Sie heute einen Filter, verschieben Sie die alten Nachrichten selbst.
  • Filter gelten für ein einzelnes Postfach. Jedes Postfach hat eigene Filter. Möchten Sie etwas für alle Postfächer Ihrer Domain regeln, etwa einen Absender blockieren, dann tun Sie das im Verwaltungspanel Ihres Hostings.

Die Filter sind in Sieve geschrieben, einer einfachen Sprache speziell zum Filtern von E-Mails (RFC 5228). Der Mailserver bei WebOké verwendet Dovecot mit Pigeonhole, der Sieve-Implementierung von Dovecot. Die Webmail wandelt Ihre Eingaben im Formular in ein Sieve-Skript um und sendet es über das Protokoll ManageSieve (RFC 5804) an den Server. Sie müssen kein Sieve schreiben, aber wer es lesen kann, versteht genau, was seine Filter tun.

Filtersatz, Regeln, Bedingungen und Aktionen

Ein Filtersatz ist das vollständige Skript: alle Filter Ihres Postfachs in einer Datei. Sie können mehrere Filtersätze haben, aktiv ist aber immer nur einer.

Im Filtersatz stehen die Filter, in der Webmail auch Regeln genannt. Jeder Filter hat:

  • einen Namen, nur für Sie selbst;
  • einen Geltungsbereich: Die Nachricht muss alle Regeln erfüllen, eine der Regeln erfüllen, oder der Filter gilt für alle Nachrichten;
  • eine oder mehrere Bedingungen: Wo schaut der Filter hin (Betreff, Absender, eine andere Kopfzeile), wie vergleicht er und mit welchem Text;
  • eine oder mehrere Aktionen: Was passiert, wenn die Bedingungen zutreffen.

Zum Vergleichen gibt es drei Möglichkeiten:

In der WebmailIn SieveBedeutung
enthält:containsder Text kommt irgendwo in der Kopfzeile vor
ist gleich:isdie Kopfzeile ist genau dieser Text
trifft auf Ausdruck zu:matchesMuster mit * (null oder mehr Zeichen) und ? (genau ein Zeichen)

Groß- und Kleinschreibung spielen bei allen drei keine Rolle. Sieve vergleicht standardmäßig mit der Regel i;ascii-casemap, die Groß- und Kleinbuchstaben gleich behandelt. "factuur" findet also auch "FACTUUR" und "Factuur".

So sieht ein Filtersatz aus

In der Webmail können Sie den Filtersatz als Text ansehen über Filter > Aktionen > Filtersatz bearbeiten. Ein Beispiel, wie die Webmail es schreibt:

require ["fileinto"];
# rule:[Nieuwsbrieven]
if exists "List-Id"
{
	fileinto "Nieuwsbrieven";
	stop;
}
# rule:[Facturen]
if allof (header :contains "subject" "factuur")
{
	fileinto "Facturen";
}
# rule:[Collega Daan]
if false # header :contains "from" "daan@example.com"
{
	fileinto "INBOX.Team";
}

Zeile für Zeile:

  • require ["fileinto"]; fordert vom Server die Erweiterung an, die zum Verschieben in einen Ordner nötig ist. Die Webmail setzt dies selbst an den Anfang, mit allen Erweiterungen, die das Skript verwendet.
  • # rule:[Nieuwsbrieven] ist ein Kommentar. Daran erkennt die Webmail den Namen Ihres Filters. Der Server überspringt die Zeile.
  • if exists "List-Id" ist die Bedingung: Die Nachricht hat eine Kopfzeile List-Id. Newsletter und Mailinglisten haben diese (RFC 2919).
  • fileinto "Nieuwsbrieven"; verschiebt die Nachricht in den Ordner Nieuwsbrieven (Newsletter). Der Ordnername ist der vollständige Name auf dem Server, mit dem Punkt als Trennzeichen (Lektion 5.1). Ein Ordner unter Posteingang heißt also INBOX.Team.
  • stop; beendet das gesamte Skript. Nachfolgende Filter betrachten diese Nachricht nicht mehr. In der Webmail heißt diese Aktion Regelauswertung anhalten.
  • if false # ... ist ein deaktivierter Filter. Schalten Sie Filter aktiviert aus, macht die Webmail aus der Bedingung false: nie wahr. Die alte Bedingung bleibt als Kommentar stehen, damit Sie den Filter später wieder einschalten können.
Das Sieve-Skript des Filtersatzes in Filtersatz bearbeiten
Ihre Filter so, wie der Server sie liest: ein Sieve-Skript

Von oben nach unten

Der Server liest das Skript von oben nach unten und prüft jeden Filter. Dabei gelten drei Regeln.

1. Ohne Aktion bleibt die Nachricht im Posteingang. Sieve kennt das implizite Behalten (implicit keep, RFC 5228, Abschnitt 2.10.2): Tut kein einziger Filter etwas, landet die Nachricht einfach im Posteingang.

2. Nach einer Verschiebung liegt die Nachricht nicht zusätzlich im Posteingang. Ein fileinto schaltet das implizite Behalten aus. Die Nachricht landet im gewählten Ordner und nicht zusätzlich im Posteingang. Möchten Sie beides, verwenden Sie Nachricht kopieren nach.

3. Ohne stop prüfen auch die folgenden Filter. Fehlt stop, macht der Server mit dem nächsten Filter weiter. Passt auch dieser Filter, führt der Server auch dessen Aktion aus. Zwei Verschiebungen in zwei Ordner bedeuten, dass die Nachricht in beiden Ordnern landet. Mit stop entscheidet der erste passende Filter.

Deshalb kommt es auf die Reihenfolge an. Im Beispiel oben steht Nieuwsbrieven über Facturen, mit einem stop. Ein Newsletter mit "Je factuur" (Ihre Rechnung) im Betreff landet also in Nieuwsbrieven und nicht in Facturen. Drehen Sie die Reihenfolge um, landet derselbe Newsletter in Facturen, denn dieser Filter hat kein stop und kommt nun zuerst. Der Newsletter läge dann sogar in beiden Ordnern. Setzen Sie daher die spezifischsten Filter nach oben und geben Sie ihnen ein stop.

Eine Nachricht durchgehen: So sagen Sie es voraus

Nehmen Sie eine Nachricht und gehen Sie das Skript so durch, wie der Server es tut:

  1. Beginnen Sie beim ersten Filter. Ist er deaktiviert (if false)? Überspringen Sie ihn.
  2. Trifft die Bedingung zu? Schauen Sie genau auf die Kopfzeile: subject ist der Betreff, from der Absender mit Name und Adresse, to der Empfänger.
  3. Wenn ja: Führen Sie die Aktionen aus. Steht dort stop, sind Sie fertig.
  4. Wenn nein, oder kein stop: Gehen Sie zum nächsten Filter.
  5. Am Ende: Hat kein einziger Filter die Nachricht verschoben oder gelöscht, liegt sie im Posteingang (INBOX).

Mit diesen fünf Schritten können Sie jedes Skript lesen, auch wenn es lang ist.

In der Praxis: So funktioniert es in der Webmail

Filter finden Sie unter Einstellungen > Filter. Die Liste zeigt Ihre Filter in der Reihenfolge, in der der Server sie ausführt; per Ziehen ändern Sie die Reihenfolge. Unter Aktionen finden Sie Filtersatz bearbeiten: Dort sehen und ändern Sie das Skript als Text. Die Schritte für einen neuen Filter stehen im Roundcube-Handbuch unter Einen Filter erstellen. In anderer Webmail funktioniert es ähnlich: Gmail hat Filter, Outlook.com Regeln. Diese verwenden kein Sieve, aber auch dort gelten Reihenfolge und Stoppen.

Zusammenfassung

  • Filter laufen bei der Zustellung auf dem Mailserver, also auch bei geschlossener Webmail, und nur für neue E-Mails.
  • Die Webmail schreibt Ihre Filter als Sieve-Skript (RFC 5228) und legt es über ManageSieve auf dem Server ab.
  • Enthält, ist gleich und trifft auf Ausdruck zu unterscheiden standardmäßig nicht zwischen Groß- und Kleinschreibung.
  • Tut kein Filter etwas, bleibt die Nachricht im Posteingang; nach einer Verschiebung liegt sie nicht zusätzlich im Posteingang.
  • Filter laufen von oben nach unten; stop beendet das Skript, deshalb bestimmt die Reihenfolge das Ergebnis.

Quiz

1. Sie erstellen heute einen Filter für den Ordner Facturen. Was passiert mit den Rechnungen, die bereits im Posteingang liegen?



2. Ein Filter mit "Betreff enthält factuur" erhält eine E-Mail mit dem Betreff "FACTUUR 118". Was passiert?



3. Was bedeutet if false # header :contains "from" "daan@example.com" in einem Filtersatz?



4. Eine Nachricht passt zum ersten Filter (Verschieben nach Facturen, ohne stop) und zum zweiten (Verschieben nach Klanten). Wo landet sie?



5. Wann behält der Server eine Nachricht im Posteingang?



Aufgabe

Aufgabe A6.1: Wo landet diese E-Mail? Öffnen Sie das Material filters-1.txt, einen Filtersatz, wie die Webmail ihn schreibt, und berichten-1.txt mit den Kopfzeilen von vier eingehenden Nachrichten, nummeriert von 1 bis 4. Gehen Sie jede Nachricht nach den fünf Schritten dieser Lektion durch: von oben nach unten, deaktivierte Filter überspringen, auf stop achten. Tragen Sie für jede Nachricht den Namen des Ordners ein, in dem sie landet, genau so, wie er im Skript steht; landet die Nachricht im Posteingang, tragen Sie INBOX ein. Das Programm vergleicht Ihre vier Antworten mit dem Lösungsschlüssel und zeigt bei jeder Nachricht, welcher Filter den Ausschlag gegeben hat.

Aufgabe A6.1: Wo landet diese E-Mail?

Datei zu dieser Aufgabe: filters-1.txt, berichten-1.txt





Was Sie eingeben und was wir finden, speichern wir nicht. Ihr Browser merkt sich Ihre Antworten und ob Sie die Aufgabe bestanden haben. Sind Sie angemeldet, speichern wir in Meine Kurse nur, dass Sie die Aufgabe (fast) richtig hatten; auch das können Sie dort löschen.

Weiterführende Informationen

Wo Schritte in der Webmail beschrieben sind, gelten sie für die Webmail von WebOké; in anderer Webmail funktioniert es ähnlich.

Einen Moment bitte…

Richten Sie Ihre Domains ein

Legen Sie für jede Domain die Nameserver, die Verknüpfung mit Ihrem Hosting und den künftigen Inhaber fest.

Ihre Domains werden geladen…