E-Mails filtern mit KMail
Weiterleiten
KMail bietet auch an, E-Mails automatisch an eine weitere Adresse zu senden. Als nächstes sollen daher E-Mails, die »freiesMagazin« enthalten, aber nicht an die Redaktionsadresse gesendet wurden, an die Redaktionsadresse umgeleitet werden.
Dafür wird der Filter »freiesMagazin Redaktion« eingerichtet. Die Filterbedingungen orientieren sich am Filter »freiesMagazin«:
- »Alle Empfänger enthält nicht redaktion@fm-fiktiv.de« filtert alle E-Mails, die nicht bereits an die Redaktion geschickt wurden
- »Nachrichteninhalt enthält freiesMagazin« filtert alle E-Mails, die irgendwo im Nachrichtentext »freiesMagazin« enthalten.
Die Filteraktion ist »Umleiten nach redaktion@fm-fiktiv.de«.
Auch bei diesem Filter sollte abgewählt sein, damit die E-Mails anschließend noch weitere Filter durchlaufen können (falls sie zum Beispiel doch gleich beim Empfang in einen separaten Ordner abgelegt werden sollen). Noch wichtiger ist es, abzuwählen, da ansonsten bei jeder manuellen Filterung (zum Beispiel für den obigen Filter »freiesMagazin«) wieder eine Kopie der E-Mail an die Redaktion versandt wird.
In der Liste
sollte dieser Filter nach der Spam-Bekämpfung liegen (die Redaktion wird es danken), aber vor dem Filter »freiesMagazin«, falls bei diesem die Einstellung »Diesen Filter auf eingehende Nachrichten anwenden« ausgewählt ist, die E-Mails also gleich beim Empfang in einen Ordner verschoben werden.Man kann für Umleitungen anstelle des Filters von KMail auch den Filter beim E-Mail-Provider verwenden. Damit wird eine E-Mail gleich beim Empfang beim Provider weitergeleitet und nicht erst, wenn sie mit KMail abgerufen wird.
Betreff verändern
GMX markiert E-Mails, die es als Spam identifiziert hat, durch ein »*** GMX Spamverdacht ***« im Betreff. Diese E-Mails können daher auch leicht durch einen Filter (»GMX Spamverdacht«) in den Ordner »Spam« verschoben werden:
Das Filterkriterium ist »Betreff enthält *** GMX Spamverdacht ***«, und die Filteraktionen sind:
- »In Ordner verschieben Spam«
- »Markieren als Gelesen«
Ist eine so gekennzeichnete E-Mail doch kein Spam, lässt sie sich einfach in den Posteingang verschieben. Allerdings stört dann das »*** GMX Spamverdacht ***« im Betreff. Um dieses zu entfernen, wird die E-Mail durch ein entsprechendes externes Programm geleitet.
Mit dem neuen Filter »Kein Spam« wird der Betreff gegebenenfalls bereinigt, die Nachricht in den Posteingang verschoben und auf ungelesen gesetzt.
Bei den Filterkriterien ist »Trifft auf alle Nachrichten zu« ausgewählt. Die Filteraktionen sind
- »Durch Programm leiten sed '1,/^$/s/Subject: \*\*\* GMX Spamverdacht \*\*\*\+/Subject: /'« – Dieser Aufruf von sed entfernt im Betreff den Text »*** GMX Spamverdacht ***«.
- »In Ordner verschieben Posteingang«
- »Markieren als Ungelesen«
In den erweiterten Einstellungen wird
abgewählt und sowie ausgewählt. Damit befindet sich in der Werkzeugleiste eine Schaltfläche , mit der eine von GMX irrtümlich als Spam klassifizierte E-Mail mit bereinigten Betreff in den Posteingang verschoben werden kann.Wie an diesem Beispiel gezeigt wird, bietet KMail in den Filteraktionen auch die Möglichkeit, eine E-Mail zu verändern. Dies ist zuweilen eine sehr nützliche Funktion, es ist aber Vorsicht geboten, um nicht aus Versehen eine E-Mail damit zu zerstören. Solche Filter sollten daher immer auf Kopien der E-Mails getestet werden.
In diesem Beispiel wurde nur der E-Mail-Kopf mit den Metadaten (in diesem Fall der Betreff) geändert. Eine Änderung des E-Mail-Textes ist auch möglich, sollte aber nur in Ausnahmefällen geschehen, da sonst zum Beispiel digitale Signaturen ungültig werden.
Leider funktioniert dieses Ersetzen in der verwendeten Version 4.11.5 von KMail ausschließlich bei einem manuellen Aufruf. Ein automatisches Bereinigen des Betreffs bei allen eingehenden E-Mails funktioniert nicht. Außerdem wird zwar der Betreff in der E-Mail-Ansicht aktualisiert, aber nicht in der E-Mail-Liste.
Exkurs: Der sed-Befehl
Viele Leser stellen sich sicherlich die Frage, was der Befehl sed '1,/^$/s/^Subject: \*\*\* GMX Spamverdacht \*\*\* \+/Subject: /'
genau bewirkt.
Dieser Filter nutzt das Programm sed, um in der Nachricht den Betreff zu ersetzen. Eine Einführung in sed gibt es in freiesMagazin 03/2010. Der Editierbefehl besteht aus einer Bereichsangabe und dem Ersetzen-Befehl:
1,/^$/
gibt an, dass für das Suchen/Ersetzen nur der Bereich vom Anfang der Datei (1
) bis zur ersten leeren Zeile (/^$/
) betrachtet werden soll. Die leere Zeile trennt die Kopfzeilen vom Inhalt der E-Mail. Die Zeile im E-Mail-Kopf, die mit »Subject: « beginnt, gibt den Betreff an.s
gibt an, dass anschließend ein Ersetzen-Befehl kommt./^Subject: \*\*\* GMX Spamverdacht \*\*\* */Subject: /
ersetzt die Zeichenkette »Subject: *** GMX Spamverdacht ***« sowie darauf folgende Leerzeichen durch »Subject: «, entfernt also den unerwünschten Text. Das^
steht für den Zeilenanfang. Das\*
steht für das Zeichen »*«, das*
steht für kein oder mehrere Leerzeichen.
Fazit
Die Filter in KMail sind einfach einzurichten und recht mächtig. Sind sie eingerichtet, ist das Verwalten der E-Mails mit KMail ein Kinderspiel. Einige E-Mails (wie »Unwetterwarnung«) werden direkt beim Eingang in entsprechende Verzeichnisse verschoben (auch günstig für Mailinglisten). Mit »Strg + J« können gelesene E-Mails in entsprechenden Ordnern (wie »freiesMagazin«) archiviert werden.
Durch eine Filteraktion, die das Durchleiten durch ein externes Programm/Skript ermöglicht, lassen sich auch ausgefallene Anforderungen umsetzen.
Für eine bessere Spam-Filterung wird in einem separaten Artikel das Einbinden des Programms bogofilter in KMail beschrieben.
Autoreninformation
Dr. Diether Knof ist seit 1998 Linux-Anwender. Vor einem Jahr ist er privat vom E-Mail-Client mutt auf KMail umgestiegen und hat in dem Zuge seine in procmail über die Jahre eingerichteten Filter auf KMail übertragen.
Dieser Artikel ist in freiesMagazin 05/2014 (ISSN 1867-7991) erschienen. Veröffentlichung mit freundlicher Genehmigung.