SourceForge Logo

Willkommen

Dokumentation

Unterstützung

Weiter Zurück Inhalt

12. Filtern von Nachrichten

Von Nick Selby (sylpheed@nickselby.com)

12.1 Definieren von Filtern

Sylpheed bietet umfangreiche Filtermöglichkeiten, um eingehende Nachrichten anhand eines benutzerdefinierten Regelsets automatisch vorzusortieren. Ein einfaches Beispiel: Nehmen wir an, wir wollten die E-Mails unserer Arbeitskollegen in einer eigenen Ablage aufbewahren. Dafür definieren wir einen Filter, der alle E-Mails mit einer "Von:"-Kopfzeile, die "@UnsereKleineFirma.com" enthält, in diese Ablage verschiebt.

Filterregeln können aber auch über mehrere Variablen definiert, und mit Bedingungen verknüpft werden. Für Experten, denen "und" und "oder"-Verknüpfungen zu wenig sind, gibt es auch noch die Möglichkeit reguläre Ausdrücke zu verwenden.

Dialog Filtereinsstellungen

Diesen Dialog erreicht man über "Einstellungen" -> "Filtereinstellungen...", oder das entsprechende Tastaturkürzel.

Einrichten von Filtern

Filterregeln bestehen aus Bedingungen und Anweisungen.

* Bedingungen

Die ersten beiden Eingabefelder des Dialoges geben Bedingungen an, welchen Text welche Kopfzeilen enthalten sollen, um von der Regel erfasst zu werden.

Die Kopfzeile kann entweder aus der Dropdown-Liste gewählt werden, oder im Eingabfeld manuell eingetragen werden.

Für eine gute Filterregel sollte das Stichwort nach Möglichkeit für die zu filternden Nachrichten spezifisch sein.

Als Aussage wählt man "enthalten" oder "nicht enthalten", um anzugeben, ob das Stichwort in der Kopfzeile enthalten, oder nicht enthalten sein soll.

Ein praktisches Beispiel: Wir erstellen eine Regel, die in der "X-Mailer:"-Kopfzeile der Nachrichten nach dem Stichwort "Sylpheed" sucht.

  • Schritt 1. Aus der "Kopfzeilen"-Dropdown-Liste wählen wir "X-Mailer".
  • Schritt 2. Im "Stichwort"-Eingabefeld geben wir "sylpheed" ein (Groß-/Kleinschreibung wird nicht beachtet).
  • Schritt 3. Wir entscheiden uns für das gewünschte "Aussage"-Dropdown-Feld, in diesem Fall "enthalten".

Mit dem Operator "and" oder "or" kann man wählen, ob beide der möglichen Bedingungen, oder nur eine von beiden erfüllt sein müssen.

Zurück zu unserem Beispiel: Wir verfeinern die Regel, um alle Nachrichten mit "Sylpheed" in der Kopfzeile "X-Mailer" zu erfassen, mit Ausnahme derer, die "Sylpheed-claws" in der selben Kopfzeile enthalten.

  • Schritt 1-3 aus dem vorigen Beispiel
  • Schritt 4. Wir lassen das "Bedingung"-Dropdown-Feld auf dem voreingestellten "and".
  • Schritt 5. Aus der zweiten "Kopfzeilen"-Dropdown-Liste wählen wir wieder "X-Mailer".
  • Schritt 6. Im "Stichwort"-Eingabefeld geben wir "claws" ein.
  • Schritt 7. Das "Aussage"-Dropdown-Feld ändern wir auf "nicht enthalten".

Nachrichtenverarbeitung

Hat man erst einmal die Bedingungen definiert, muß man nur noch angeben, was mit den ausgewählten Nachrichten geschehen soll. Zur Wahl stehen die Wechselknöpfe "Ziel" und "Nicht Empfangen".

Mit "Ziel" kann man die Nachrichten in eine Ablage umleiten, die man über "Auswählen" angeben kann. Diese Ablage muß bereits existieren, und wird mittels Doppelklick, oder Einfachklick und "OK"-Knopf ausgewählt.

Mit "Nicht Empfangen" weist man Sylpheed an, die Nachrichten nicht vom Server zu laden. Sie werden dort belassen, aber nicht gelöscht.

Filter registrieren

Nachdem wir die Bedingungen definiert, und die Verarbeitung angegeben haben, müssen wir die Filterregel nur noch in die Liste unserer Filterregeln eintragen. Dieser Schritt ist zwingend erforderlich.

Oberhalb der Liste der registrierten Regeln befinden sich drei Knöpfe: "Registrieren", "Ersetzen" und "Löschen".

  • "Registrieren" speichert die Regel am Ende der Liste.
  • "Ersetzen" fügt die Regel an Stelle der in der Liste ausgewählten Regel ein.
  • "Löschen" entfernt die in der Liste ausgewählte Regel.

Ein praktisches Beispiel: Wir erstellen eine Filterregel, die alle E-Mails mit dem Betreff "Sylpheed Manual" in die (bereits bestehende) Ablage "Post Sylpheed Handbuch" verschiebt. Als Vorbereitung für die Beispiele erstellen wir die Ablagen "Post Sylpheed Handbuch" und "Sylpheed Fragen".

  • Schritt 1. Die "Kopfzeilen"-Dropdown-Liste belassen wir bei "Subject".
  • Schritt 2. Im "Stichwort"-Eingabefeld geben wir "sylpheed manual" ein.
  • Schritt 3. Das "Aussage"-Dropdown-Feld belassen wir bei "enthalten".
  • Schritt 4. Wir klicken den "Ziel"-Wechselknopf, und wählen die Ablage "Post Sylpheed Handbuch".
  • Schritt 5. Wir klicken den "Registrieren"-Knopf.

Beispiel für das Ersetzen einer Filterregel: Wir ändern die vorige Regel, um Nachrichten mit dem Betreff "Sylpheed Manual" nicht in die Ablage "Post Sylpheed Handbuch", sondern in die Ablage "Sylpheed Fragen" zu verschieben.

  • Schritt 1. Die "Kopfzeilen"-Dropdown-Liste belassen wir bei "Subject".
  • Schritt 2. Im "Stichwort"-Eingabefeld geben wir "sylpheed manual" ein.
  • Schritt 3. Das "Aussage"-Dropdown-Feld belassen wir bei "enthalten".
  • Schritt 4. Wir klicken den "Ziel"-Wechselknopf, und wählen die Ablage "Sylpheed Fragen"
  • Schritt 5. Wir wählen in "Registrierte Regeln" die Regel "Subject:sylpheed manual"
  • Schritt 6. Wir klicken den "Ersetzen"-Knopf.

Beispiel für das Löschen einer Filterregel: Wir löschen die gerade erstellte Regel für den Betreff "Sylpheed Manual".

  • Schritt 1. Wir wählen in "Registrierte Regeln" die Regel "Subject:sylpheed manual"
  • Schritt 2. Wir klicken den "Löschen"-Knopf
  • Schritt 3. Wir bestätigen, die Regel löschen zu wollen, indem wir im Bestätigungsdialog auf "Ja" klicken.

Reihenfolge der registrierten Regeln

Wenn man mehrere Regeln erstellt hat, gewinnt auch die Reihenfolge an Bedeutung, in der diese angewandt werden. Darauf muß Rücksicht genommen werden, wenn man der Liste neue Regeln hinzufügt, oder bestehende Regeln ersetzt.

Nehmen wir als Beispiel zwei Filterregeln, die erste besagt "Wenn Betreff 'ABC' enthält, verschiebe nach Ablage X", die zweite besagt "Wenn Betreff 'ABCDEF' enthält, verschiebe nach Ablage Y".

Die Regeln werden von oben nach unten abgearbeitet, und Nachrichten, die im Betreff "ABC" enthalten, werden in Ablage X verschoben. Aber was geschieht mit Nachrichten die "ABCDEF" enthalten? Die werden auch in Ablage X verschoben, weil sie ja auch "ABC" enthalten, und nicht in Ablage Y, denn die zweite Regel wird nie ausgeführt.

Das wollten wir nicht.

Um dies zu verhindern, müssen wir dafür sorgen, daß die komplexere Regel vor den allgemeineren Regel ausgeführt wird, indem wir sie auf der Liste nach oben verschieben.

Registrierte Regeln können mit den "Auf" und "Ab"-Knöpfen nach oben oder unten verschoben werden. Wenn wir die "ABCDEF"-Regel nach oben verschieben, wird sie vor der "ABC"-Regel ausgeführt, und erfüllt ihren Zweck.

12.2 Anwenden von Filtern

Der Aufruf der Filter kann auf verschiedene Weisen erfolgen:

  • Sylpheed filtert automatisch eingehende Nachrichten von POP und IMAP Servern.
  • Wenn man Nachrichten von einer Unix Mailbox importiert, und die Option "Filtern beim Empfang" gewählt hat, die sich in "Einstellungen" -> "Allgemeine Einstellungen", im Reiter "Empfangen", im Bereich "Lokale Mailbox" befindet.
  • Oder man filtert direkt mit "Werkzeug" -> "Nachrichten filtern".
Zum derzeitigen Zeitpunkt filtert Sylpheed noch keine IMAP-Nachrichten.

12.3 Filtern von E-Mails mit procmail

Für noch mehr Möglichkeiten Filterungen durchzuführen, kann man sich auch Sylpheed-claws ansehen, den Experimentalzweig der Sylpheed-Entwicklung. Dieser bietet einige zusätzliche Features. Sylpheed-claws findet man auf http://sylpheed-claws.sourceforge.net

Eine weitere Möglichkeit ist procmail. Procmail ist ein mächtiges Filterwerkzeug, das vom MTA (Mail Transport Agent, beispielsweise sendmail, qmail, postfix) aufgerufen wird. Procmail wird von diesen Anwendungen automatisch gestartet.

Nur muß man procmail anweisen, die Nachrichten in MH-Mailablagen zu sortieren. Das ist aber nicht schwierig.

Normalerweise verschiebt procmail Nachrichten in Mbox-Mailboxen, große, einzelne Dateien, die alle Nachrichten in einer Datei enthalten. MH benutzt für jede Nachricht eine eigene Datei. Alles was man nun tun muß, ist procmail anzuweisen, die Nachrichten nach <zielablage>/. zu verschieben.

Der "/." macht den Unterschied aus.


Weiter Zurück Inhalt