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

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 "rechnung" im Betreff in den Ordner Rechnungen, Newsletter in einen eigenen Ordner. Das Wichtigste dabei: Das Sortieren geschieht nicht in der Webmail, sondern auf dem Mailserver, in dem Moment, in dem eine Nachricht in Ihr Postfach zugestellt wird.

Daraus ergeben sich drei Dinge:

  • Filter arbeiten auch, wenn die Webmail geschlossen ist. Ihr Laptop darf 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 Postfach. Jedes Postfach hat seine eigenen Filter. Möchten Sie etwas für alle Postfächer Ihrer Domain regeln, etwa einen Absender sperren, erledigen 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 Auswahl im Formular in ein Sieve-Skript um und schickt 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 komplette Skript: alle Filter Ihres Postfachs in einer Datei. Sie können mehrere Filtersätze haben, aber es ist immer nur einer aktiv.

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, oder der Filter gilt für alle Nachrichten;
  • eine oder mehrere Bedingungen: Wo schaut der Filter hin (Betreff, Absender, ein anderer Header), wie vergleicht er, und mit welchem Text;
  • eine oder mehrere Aktionen: Was geschieht, wenn die Bedingungen zutreffen.

Zum Vergleichen gibt es drei Möglichkeiten:

In der WebmailIn SieveBedeutung
enthält:containsder Text steht irgendwo im Header
ist gleich:isder Header ist genau dieser Text
trifft auf Ausdruck zu:matchesMuster mit * (null oder mehr Zeichen) und ? (genau ein Zeichen)

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

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:[Newsletter]
if exists "List-Id"
{
	fileinto "Newsletter";
	stop;
}
# rule:[Rechnungen]
if allof (header :contains "subject" "rechnung")
{
	fileinto "Rechnungen";
}
# rule:[Kollege Lukas]
if false # header :contains "from" "lukas@example.com"
{
	fileinto "INBOX.Team";
}

Zeile für Zeile:

  • require ["fileinto"]; fordert beim 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:[Newsletter] 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 einen Header List-Id. Newsletter und Mailinglisten haben ihn (RFC 2919).
  • fileinto "Newsletter"; verschiebt die Nachricht in den Ordner 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 sehen sich diese Nachricht nicht mehr an. 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: niemals 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 ganz normal im Posteingang.

2. Nach einer Verschiebung liegt die Nachricht nicht zusätzlich im Posteingang. Ein fileinto schaltet das implizite Behalten aus. Die Nachricht kommt in den gewählten Ordner und nicht daneben in den 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 Newsletter über Rechnungen, mit einem stop. Ein Newsletter mit "Ihre Rechnung" im Betreff geht also nach Newsletter und nicht nach Rechnungen. Kehren Sie die Reihenfolge um, landet derselbe Newsletter in Rechnungen, 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? Achten Sie genau auf den Header: subject ist der Betreff, from der Absender mit Name und Adresse, to der Empfänger.
  3. Falls ja: Führen Sie die Aktionen aus. Steht dort stop, sind Sie fertig.
  4. Falls 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; Sie ziehen sie per Maus an eine andere Stelle, um die Reihenfolge zu ändern. 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 Anhalten.

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, die Reihenfolge bestimmt also das Ergebnis.

Quiz

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



2. Ein Filter mit "Betreff enthält rechnung" erhält eine E-Mail mit dem Betreff "RECHNUNG 118". Was geschieht?



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



4. Eine Nachricht passt zum ersten Filter (verschieben nach Rechnungen, ohne stop) und zum zweiten (verschieben nach Kunden). 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 Headern von vier eingehenden Nachrichten, nummeriert von 1 bis 4. Gehen Sie jede Nachricht nach den fünf Schritten aus 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 gab.

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…