Tips zum Linux-Emailprogramm Claws-Mail (bis Ende 2006: Sylpheed-Claws)

frames  /   impressum

Letzte Änderung(en) am 8.2.2009

Auf dieser Seite präsentiere ich (m)eine Art 'Best of' der Claws-Mail-Mailingliste. Ich dokumentiere hier, was mir für meine Installation mal wichtig war oder noch ist. So ist es für mich festgehalten und mag vielleicht auch Anderen nützen, obwohl es naturgemäß weder vollständig noch aktuell ist.

Quick-Links: Informationen zu Claws-Mail und SylpheedAllgemeine BedienungFilterregeln, Verarbeitungsregeln und ActionsMixed PicklesUmstieg von einem anderen MailerTechnische DetailsMail-Verschlüsselung und Sicherheit
Datum Frage Antwort

I Informationen zu Claws-Mail und Sylpheed


20.7.2007 (Update) Was ist Sylpheed bzw. Claws Mail? Seit 17.6.2002 benutze ich Claws-Mail (bis Ende 2006 Sylpheed-Claws), nachdem ich zuvor seit meinem Umstieg auf Linux auf Sylpheed gesetzt hatte. Was ist Claws-Mail? Auf den ersten Blick ist es ein Mailprogramm, auf den zweiten Blick ist es ein Mailprogramm mit Newsreader, auf den dritten Blick aber ist es viel mehr - eine Art programmierbares Mailverarbeitungssystem:
  • Actions: Mails bzw. der Mailbody können an externe Kommandos übergeben bzw. gepipet werden. Auf diese Weise lassen sich Emails mit beliebigen Programmen und Scripten weiterbearbeiten. Wenn man unbedingt will kann man sie sich sogar mit mbrola automatisch vorlesen lassen! (Dieses Feature gibt es inzwischen auch in Sylpheed-Main.)
  • Ein Scoreingsystem, um Mails mit Hilfe filterähnlicher Kriterien mit einer Punktezahl zu bewerten, die dann angezeigt und nach der sortiert werden kann. Basierend auf den Scores können dann ordnerbasierte Verarbeitungsaktionen aufgerufen werden.
  • Ein leistungsfähiges und flexibles Filtersystem. Filter können auch an Ordner gebunden werden. Immer wenn der Ordner betreten wird, wird der Filter ausgeführt. Als Filtermerkmal können auch Exit-Codes von beliebigen Programmen oder Skripten benutzt werden, z.B. die Exit-Codes von Spamassasin, wie unten genauer dargestellt! Inzwischen ist es auch möglich flexibel Adressheaderfelder gegen Adressbücher checken zu lassen und das enthalten sein von Adressen (oder das nicht enthalten sein) als Filterkriterien zu nutzen. Wem das eingebaute Filtersystem nicht reicht, der kann per Perl-Plugin auf ein alternatives Filtersystem ausweichen, dessen Leistungsfähigkeit letztlich nur noch durch die Fähigkeiten der Programmiersprache Perl beschrönkt ist, sprich, es lassen sich damit auch extrem komplexe Aufgaben lösen.
  • Seit Juni/Juli 2007 hat Claws-Mail auch ein Tagging-System, d.h. Emails können mit Labels/Kategorien/Schlagwörtern versehen werden, die die Emails mit einer Meta-Information versehen und beim Suchen und Filtern helfen können. Solche Labels können auch automatisch durch das Filtersystem erzeugt und gelöscht werden. Das Tagging ergänzt die bisher schon vorhandene Möglichkeit Emails einzufärben.
  • Eine nahtlos eingebaute Rechtschreibprüfung und Email-Templates helfen beim Schreiben von Emails.
  • Über einen Plugin-Mechanismus lässt sich Claws um viele optionale Features erweitern. Dazu gehören unter anderem (weitere finden Sie hier, die Liste ist nicht vollständig):
    • Ein RSS-Reader
    • Ein PDF-Anzeiger
    • vCalendar-Funktionen
    • Diverse Funktionen zur starken Verschlüsselung
    • HTML-Anzeige
    • Anbindung an den Spamfilter spamassassin
    • Anbindung an den Virenscanner clamav

Auch wenn Claws-Mail einen etwas spröden Charme hat, besteht die Chance, das Sie mit ihm Dinge machen können, die Sie mit anderen Programmen nicht machen könnten. Es hängt aber auch von Ihnen ab: Sie müssen Willens sein, nach Lösungen zu suchen, und die Schätze zu heben. Wenn Sie dann noch bereit sind, ein wenig selbst zu scripten, dann werden Sie die Power spüren, die in Claws-Mail steckt. Wenn Sie das nicht wollen, dann sind sie mit einem etwas konventionelleren Programm vermutlich besser bedient.

28.1.2007 Claws-Mail und Sylpheed Zum Unterschied zwischen Claws-Mail und Sylpheed ist folgendes zu sagen: Es gab bis Ende 2006 zwei Versionen von Sylpheed: Das normale Sylpheed (oft ordinary oder main gennant) war als stabile Version gedacht und wurde/wird (soweit ich sehe - ausschliesslich) von Hiroyuki Yamamoto weiterentwickelt, was nicht heisst, dass keine Patches vorgeschlagen werden können, aber sie gehen durch seine Hand, bevor sie ins CVS gehen. Am 4.9.2006 war in der Sylpheed-Mailingliste zu lesen, dass die Sylpheed-Entwicklung durch Hiroyuki Yamamoto von zwei japanischen Firmen gesponsort wurde/wird, wobei Hiroyuki Yamamoto für die Entwicklung bezahlt wurde/wird. Die erste Firma war GoodDay Inc. Mitte 2006 wechselte Hiroyuki Yamamoto nun zu SRA OSS. Anfang September 2006 wechselten die Webseiten und die Sylpheed-Mailingliste zu SRA OSS.

Daneben gab es Claws-Mail (das Sylpheed, das zurückbeißt ;-)), das von einer kleinen Entwicklergemeinde abgespalten wurde und ursprünglich dazu gedacht war, einen schnelleren - vielleicht auch weniger soliden - Entwicklunsgang zu ermöglichen. Es sollte Features vorwegnehmen, die vielleicht später auch einmal in Sylpheed-Main ankommen sollten, falls Hiroyuki mit der Philosphie des Features und dem realisierenden Code zufrieden war. Damit sollte Hiroyuki an der Featurefront entlastet werden, um sich mehr um die Konsolidierung, Design und Codeklarheit kümmern zu können. Inzwischen ist diese Abgrenzung so nicht mehr gültig. Sylpheed-Claws entwickelte sich mehr und mehr zu einem echten eigenständigen Fork. Deshalb wurde Ende 2006 auch die Umbenennung in Claws-Mail vollzogen. Vgl. dazu die nächsten Beiträge.

Die wichtigste Quelle zu den Unterschieden zwischen Sylpheed und Sylpheed-Claws war früher die Datei README.claws in den Claws-Quellen. Inzwischen hat sie den Charakter einer knappen grundlegenden Dokumentation für einige der Features.

4.11.2006 (Update) Kann man zum Verhältnis von Sylpheed (Main) und ehemals Sylpheed (Claws) noch mehr sagen? Ursprünglich war es so gedacht, dass Sylpheed Claws trotz allem ein Sylpheed bleibt und nicht einfach ein eigenständiges Mailprogramm ist. Dies sollte dadurch sichergestellt werden, dass sich die Entwicklergemeinde auf Main-CVS-Update-Basis mit der Fortentwicklung in Sylpheed-Main zurückzusynchronisierte.
Ich zitiere dazu aus einer Mail von Alfons Hoogervorst vom 25.9.2002 in der Sylpheed-Mailingliste:
The reason the Main Claws model works, is because I personally guaranteed Hiro that Claws would always sync with Main. That would break Claws more often than Main, but we could always counter this by adding cool features. And Hiro could pick up the things that looked interesting to him.

Ein Umstieg von Sylpheed (Main) auf Claws-Mail war daher lange Zeit reibungslos möglich, bzw. es war sogar möglich, beide Zweige parallel zu benutzen. Im tools-Verzeichnis der claws-sourcen gab es dazu ein switcher-script, das im Wesentlichen die Konfigurationsverzeichnisse entsprechend umlinkte. Dieses Script gibt es nun nicht mehr und die Gemeinsamkeit beschränkt sich in Zukunft wohl immer mehr auf das gemeinsame Mailablageformat MH, obwohl das grundlegende Design von Claws sich wohl auch auf Dauer nicht völlig von den von Hiroyuki Yamamoto gelegten Grundlagen entfernen wird.

Nachdem Alfons Hoogervorst seit Ende 2004 keinen direkten CVS-Zugang mehr hatte, konnte er die oben genannte Zusage nun nicht mehr direkt umsetzen. Im Sommer 2005 kam es dann - soweit ich das beurteilen kann - zu einem Wechsel in der Entwicklungsrichtung von Claws-Mail. Alfons Hoogervorst, der bis dahin noch regelmäßig Patches geliefert hatte, stellte seine Mitarbeit ein. Die enge Rückbindung an Sylpheed-Main wurde de facto aufgegeben, weil sich niemand mehr fand, der bereit gewesen wäre die zugehörige Synchronisationsarbeit zu leisten. Daher driften die Codebasen nun auseinander. Vermutlich war der ständige Resync auf die Dauer zu anstrengend. Außerdem entschied man sich bei Claws-Mail den Imap-Bereich mit einer externen Bibliothek (libetpan) abzudecken.

Ferner gab es in 2006 eine längere Entwicklungspause bei Sylpheed-Main. Es zeigte sich, dass die Entwicklung von Sylpheed-Main von japanischen Firmen gesponsert wird, der Entwickler Hiroyuki Yamamoto wird also für seine Arbeit an Sylpheed-Main bezahlt. Durch einen Stellenwechsel kam es zu einer monatelangen Entwicklungspause bei Sylpheed-Main, die nun aber beendet ist. Der Entwickler und das Projekt haben glücklicherweise eine neue Heimat gefunden.

28.1.2007 (Update) Nach welchen Kritieren wurden Features für Sylpheed-Main aus Claws übernommen (oder direkt eingebaut)? Am 21.6.2002 hat Hiroyuki seine Kriterien in der Sylpheed-Mailingliste veröffentlicht (hier in meiner Übersetzung):
1. Das Feature muß ausreichend gut sein.
2. Es darf keine bestehenden Features beeinträchtigen (ihre Usability, Performance, Stabilität, die Wartbarkeit ihres Codes usw.).
3. Es muß selbst stabil laufen.
4. Die Codequalität sollte ausreichend sein. Wenn nicht, sollte der Code mit vernünftigem Aufwand von mir umgeschrieben bzw. neu geschrieben werden können.

Am 17.9.2002 bezog er in der Sylpheed-Mailingliste Stellung zur Entscheidungsfindung bei der Sylpheed-Entwicklung (Übersetzung von mir, und hier das Posting im Original):

Ich habe das Gefühl, dass ich erklären sollte, wie Entwicklungsentscheidungen für Sylpheed gefällt werden: Erstens entscheide allein ich, ob ein verlangtes Feature in Sylpheed eingebaut wird oder nicht. Was andere dazu sagen, beeinflusst diese Entscheidung nicht direkt. Wenn ich ja gesagt habe _und_ motiviert bin, wird das Feature früher oder später implementiert werden. Wenn ich nein gesagt habe, wird das Feature nie implementiert werden (es sei denn ich ändere meine Meinung). Wenn ich nichts gesagt habe, so kann es deshalb sein weil,
* ich einfach noch keine Zeit zu antworten hatte (das ist der häufigste Grund)
* ich der Meinung bin, das das Feature unwichtig ist
* ich mich in Bezug auf das Feature nicht richtig auskenne
* ich gar nicht genau verstehe, was das Feature sein soll
* oder es kann noch andere Gründe haben.
Bitte nimm zur Kenntnis, dass ich die Entwicklung von Sylpheed als ein Hobby betreibe und mich niemand dazu zwingen kann irgendetwas zu tun!

Das wichtigste Feature das Hiroyuki meines Wissens von Claws übernommen hat, wenn auch in abgewandelter Form, ist das von Melvin Hadasht entwickelte Claws-Action-Feature. Ob momentan noch Features von Claws übernommen werden erscheint mir fraglich. Nach meinem Eindruck wurde seit langem kein wichtiges Feature mehr übernommen.

28.1.2007 (Update) Vorweg: Hat Claws-Mail gravierende Schwachstellen? Claws-Mail hat nur noch wenige Schwachstellen.
  1. Es fehlen virtuelle Ordner / Suchordner. (In Sylpheed-Main sind sie anscheinend inzwischen realisiert worden!)
  2. Es gibt inzwischen eine Volltextsuche über alle Ordner, die aber relativ rudimentär ausgefallen ist und in das Schnellsuche-Feature integriert wurde. Wer mehr braucht, kann dies mit einem externen Werkzeug namens mairix bei Bedarf nachrüsten. Mehr dazu weiter unten.
  3. Der Stand des Imap-Supports hat sich seit dem Umstieg auf die Benutzung der externen libetpan-Bibliothek meinem Eindruck nach stark verbessert und kann wohl inzwischen als recht ausgereift gelten. Er war in 2006 und ist noch immer Gegenstand von relativ intensiver Entwicklungsarbeit. Falls IMAP Ihre Hauptanwendung ist, sollten Sie vielleicht dennoch noch einige Tests machen.
  4. Das Adressbuch könnnte vielleicht noch etwas komfortabler ausfallen. Aber im Grunde tut es, was es soll. Die fehlende Suchmöglichkeit kann man per Action-Script nachrüsten (siehe unten).
  5. Es ist ratsam die Sylpheed-Konfigurationsdateien, vor allem mühsam erarbeitete Filterregeln regelmässig zu sichern. Es gab vereinzelt Nachrichten über verlorene Konfigurationsdateien im Zusammenhang mit Claws-Mail-Updates. Mir selbst ist das seit langem nicht mehr passiert, obwohl ich sehr häufig update.
4.9.2006 Woher bekomme ich Claws-Mail ?
  • Inzwischen wurde Claws-Mail in viele Linux-Distributionen aufgenommen. Es bestehen gute Chancen, dass Sie Sylpheed und / oder Claws-Mail über die Standardquellen Ihrer Distribution bekommen/installieren können.
  • Sylpheed(Main)-Home, mit RPMs und nächtlichen Builds
  • Claws-Mail, der inzwischen eigenständige Fork von Sylpheed mit einer eigenen Entwicklergemeinde
31.8.2006 Woher bekomme ich Sylpheed für Windows? Sylpheed(-Main) für Windows wird seit einger Zeit von Hiroyuki offiziell supported und angeboten und kann ganz normal von der Sylpheed-Downloadseite geladen werden.

31.8.2006 Woher bekomme ich Claws-Mail für Windows? Claws-Mail hat zur Zeit keine offizielle von den Entwicklern erstellte/supportete Windows-Version mehr. Dennoch kann man es mit einigen Einschränkungen (z. Zeit beispielsweise ohne SSL und Imap) als Teil des gpg4win-Projektes bekommen.
28.1.2007 Claws-Mail
Snapshots
als Installationsquelle!
Da es inzwischen recht schwierig ist eine Claws-Mail-taugliche Entwicklungsumgebung bereitzustellen, ist es für Neuigkeiten-Junkies wie mich einfacher, statt direkt auf das CVS zuzugreifen die täglich bereitgestellten Snapshots zu compilieren, die eine Verwendung der Auto-Tools überflüssig machen. Die Snapshots findet man hier.

Ich stelle Ihnen hier auf Ihre Gefahr hin ein Beispiel-Script zur Automatisierung des Abhol- und Kompilierprozesses zur Verfügung: Snapclaws. Bitte wenden Sie es nur an, nachdem sie es genau analysiert und verstanden haben, dass es in ihrem System keinen Schaden anrichten wird. Ich übernehme keine Haftung. Da Script legt z.B. im /tmp-Verzeichnis einen Ordner an und löscht ihn auch wieder. Das Script holt nicht nur das Hauptprogramm sondern auch alle Plugins, die sie in der entsprechenden Pluginliste angeben.

15.1.2005, überarbeitet 2.6.2006, 28.1.2007 als veraltet gekennzeichnet Wie komme ich an die GTK2-Version von Claws-Mail? Die Informationen hier sind inzwischen nicht mehr aktuell. Ich selbst verwende wie im vorherigen Beitrag dargelegt inzwischen die Claws-Mail-Snapshots. Vielleicht können die folgenden Informationen aber irgendwann wieder auf den neuesten Stand gebracht werden.

Die GTK2-CVS-Version von Claws kann wie folgt heruntergeladen werden (vgl: http://claws.sylpheed.org/cvs.php):

#!/bin/bash
SYLPDIR=/home/myself/projekt/sylp
SERVER=pserver:cvs@sunsite.dk:/pack/anoncvs

cd $SYLPDIR

cvs -d:$SERVER login # password: cvs
cvs -t -z4 -d:$SERVER co -P -r gtk2 sylpheedclaws/Claws-Mail

# und jetzt noch die extra-plugins falsch gewünscht cvs -z3 -d:pserver:cvs@sunsite.dk:/pack/anoncvs co -r gtk2 sylpheedclaws/plugins

Hier einige der benötigten Voraussetzungen für die Kompilierung (aus der Mailingliste, von Alfons Hoogervorst, 19.11.2004):

  1. you need all development headers of GTK 2 / Glib 2 and their dependents - this also means you need pkg-config.
  2. you need a lot of build tools; this is my current list which I also use to build GNOME/KDE from CVS. If you have higher versions: They may or may not work. Experiment a bit:
       - libtool --version (1.5)
       - gettext --version (0.14.1)
       - automake --version (1.7.1)
       - autoconf --version (2.56)
  3. bison or yacc, but bison is preferable: I don't know whether the parser scripts have ever been fed to a yacc (no pun intended):
       - bison -V (1.875)
    See also this thread, http://sourceforge.net/mailarchive/message.php?msg_id=8877641, however, 1.875 worked for me fine.
  4. http://www.claws-mail.org/snapshots/
  5. flex or lex, here flex is also preferred:
       - flex -V (2.5.4)
    See also this thread when you encounter problems, http://sourceforge.net/mailarchive/message.php?msg_id=8573830, however, no problems building with flex 2.5.4.

Unter SuSE 10 ist es angebracht folgende Zeile in der .profile - Datei im eigenen Homeverzeichnis einzufügen:

export LANG=de_DE@utf8

Die folgende Zeile, die bei mir noch stand, sorgte dafür, dass beim Beantworten von Emails die Umlaute nicht korrekt zitiert wurden:

export LANG=de_DE@euro

Kompiliert werden kann das Ganze dann wie folgt (Beispiel):

SYLPDIR=/home/myself/projekt/sylp/sylpheedclaws
CLAWSDIR=$SYLPDIR/Claws-Mail
SYLPPLUGINS=$SYLPDIR/plugins
cd $CLAWSDIR

./autogen.sh --with-gpgme-prefix=/usr --with-aspell-prefix=/usr --disable-gnomeprint

make

for MYPLUGIN in vcalendar att_remover rssyl etpan-privacy newmail pgpinline notification
do

cd $SYLPPLUGINS/$MYPLUGIN
make clean
./autogen.sh --prefix=/usr/local
./configure
make

done

Und das zugehörige als root auszuführende Installationsscript könnte wie folgt aussehen (wieder nur ein Beispiel):

#!/bin/bash
SYLPDIR=/home/mk/projekt/sylp/sylpheedclaws
CLAWSDIR=$SYLPDIR/Claws-Mail
SYLPPLUGINS=$SYLPDIR/plugins

cd $CLAWSDIR
make install

for MYPLUGIN in vcalendar att_remover rssyl etpan-privacy newmail pgpinline notification
do

cd $SYLPPLUGINS/$MYPLUGIN
make install

done


II Allgemeine Bedienung


20.7.2007 Wie komme ich schnell in den Suchbereich? Drücken Sie einfach die aus anderen Unix-Programmen (z.B. vi) bekannte '/'-Taste um den Suchbereich zu öffnen und den Cursor in der Eingabemaske zu positionieren. Mit 'ESC' können Sie den Suchbereich verlassen und schliessen, das klappt aber nur, wenn der Focus noch im Sucheingabefenster ist.
Wie funktionieren die Links in Sylpheed? Ein einfacher Click reicht nicht aus, um etwas zu bewirken: Ein Doppelklick oder auch ein Rechtsklick führen weiter!
Wie kann ich den Cache eines einzelnen Ordners löschen und neu generieren? Mit Strg-ALT-U. Sehr nützlich, wenn mal was im Cache durcheinander kam. Um alle Caches auf einmal aufzufrischen gibts den "Rescan-Foldertree". Strg-ALT-U bzw. der zugehörige Befehl ganz unten im Ansichts-Menü ist auch die einzige Möglichkeit, auf dem Newsserver nicht mehr vorhandene Einträge aus dem Newsgroup-Cache zu löschen!
Wie kann ich gleichzeitig viel Platz für die Mailliste und zugleich viel Platz für das Lesen von Emails haben. Die diesbezüglich wichtigste Funktion findet sich unter dem unscheinbaren Namen 'Ansicht-Ablageninhaltsansicht ändern'. Probieren Sie sie aus (Standardtastenkürzel ist 'v'). Sie werden sie nie mehr missen mögen!
25.1.2005 (Update) Worum geht es bei der Betreffvereinfachung mit Hilfe von regulären Ausdrücken? In einigen Mailinglisten wird im Betreff ein Textautomatisch ergänzt, der dann beim Durchblättern der Mails kostenbaren Bildschirmplatz benötigt, ohne echte Informationen zu liefern. Da wäre es doch toll, wenn man diesen immer gleichen und damit informationslosen Text einfach ausblenden könnte. In Claws-Mail ist das mit Hilfe der Ordnereigenschaften möglich. Ein naheliegendes Beispiel: Der folgende Ausdruck "\[sylpheed:[0-9]{5}]" (ohne die Anführungszeichen), entfernt die typischen Betreff-Köpfe der Sylpheed-Mailingliste die aus dem Wort "sylpheed:" und einer fünfstelligen Nummer bestehen, die beide zusammen mit eckigen Klammern umgeben sind. Etwas weniger kompliziert ist der folgende Fall: "\[reiserfs-list]" der die entsprecheden Betreffköpfe der Mailingliste für das Reiser-Dateisystem entfernt.
    Der folgende Ausdruck stammt aus einem Beitrag von Alfons Hoogervorst, er kann zum Bereinigen von Email-Betreffs in der Claws-Mailingliste eingesetzt werden!:
  • ((Re\:\ *)*\[Sylpheed\-claws\-users\]\ )*(Re:\ )*
  • Die folgenden Ausdrücke filtern jeweils dreistellige Zahlen:
  • [0-9][0-9][0-9] oder [0-9]{3} oder [0-9]{3,3}
  • Der folgende Ausdruck filtert dreistellige, vierstellige oder fünfstellige Zahlen:
  • [0-9]{3,5}
  • Weitere Informationen gibts auf der Linux-Konsole:
  • man 7 regex
  • oder im Konqueror:
  • man:regex
Wie browse ich am besten durch meine Ungelesene Nachrichten? Am besten mit der 'Leertaste': Probieren Sie es aus, einfach immer wieder die Leertaste drücken! Etwas langsamer geht es mit der Entertaste. Mit der 'Backspace'-Taste kann man sich übrigens rückwärts bewegen, und mit 'Alt-Enter' geht es wiederum etwas langsamer! Daneben gibt es viele weitere Tastenkürzel. Ein Blick in das Manual lohnt sich bestimmt!
15.8.2006 Wie kann ich den Ordnerbaum mit der Tastatur navigieren? Mit + und - lassen sich Ordnerstrukturen auf- und wieder einklappen. Mit Strg + bzw. Strg - gelingt dies für alle untergeordneten Ordner auf einmal. Von Ordner zu Ordner wechselt man wie gewohnt mit den Cursortasten. Alternativ kann das auch mit Strg n bzw. Strg p geschehen.

Schnelle Sprünge im Ordnernbaum: Wenn der Ordnerbaum den Focus hat, kann man einfach ein 'g' eintippen. Es erscheint dann ein neues Fenster mit der Ordnerstruktur. In diesem Fenster kann man nun einfach beginnen, auf der Tastatur den Ordnernamen zu tippen. Es wird dann auf den ersten Ordner der mit dem bisher eingegebenen Prefix beginnt fokusiert. Bei Bedarf kann man mit den Cursortasten auf den nächsten oder vorhergehenden Ordner mitdemselben Prefix fokussieren oder das Prefix weiter verlängern. Hat man den richtigen Ordner im Fokus bringt einem ein abschließender Druck auf die Entertaste in den gewünschten Ordner. Schneller kann man sich in einem großen Ordnerbaum nicht bewegen!

Emails schnell verschieben: Dasselbe Prinzip ist nutzbar, um Emails zu verschieben. Nach der Auswahl der Email ruft ein Strg-O den Verschiebedialog aus, in dem der Ordnerbaum angezeigt wird. Dort wählt man einen Ordner wie eben beschrieben aus!

Wie kann ich ein Tastenkürzel für einen Menüeintrag ändern? Um ein Tastenkürzel für einen Menüeintrag zu ändern, zeigt man mit der Maus auf den Eintrag (ohne zu klicken). Dann drückt man die gewünschten Tastenkürzel. Außer bei F1-F12 muß dabei immer eine oder mehrere Zusatztaste(n) (Umschalttaste, Alt, Strg) dabei sein.
15.1.2005 (Update) Wie kann ich schnell mal den Account verstellen? Ein Rechtsklick auf den Account-Namen unten rechts im Fenster in der Statuszeile erlaubt eine schnelle Account-Auswahl. Die Account-Einstellungen selbst sind seit Anfang 2005 nun auch per Rechtsklick auf den zugeordneten Eintrag im Verzeichnisbaum zugänglich.
Wie kann ich die Schriften verändern? In Claws gibt es dazu ein Tab in den Einstellungen. In Main muss man dazu für den Fettdruck und den Kleindruck in ~/.sylpheed/sylpheedrc notfalls selbst Hand anlegen. Es empfiehlt sich die Datei vorher zusichern, denn Sylpheed startet nicht mehr, wenn die eingetragene Schrift nicht richtig ist. Haben Sie die Sicherungskopie vergessen, löschen Sie einfach den verhunzten Schrifteintrag. Dann startet Sylpheed wieder und trägt seinen Default-Eintrag wieder ein.
Woher kommt (--> none) als Absender? Wenn Sie in Sylpheed Main eine Nachricht schreiben und später beim Absender den Empfänger oder bei Newsgroups auch mal '(-->none)' sehen, so ist dies kein Bug, sondern ein Feature (vgl. Einstellungen - Allgemeine Einstellungen - Anzeige - Zeige Empfaenger in from-Zeile, wenn sie selbst der Sender sind).
Wie kann ich den News-Cache löschen? Einträge im Newscache werden in Sylpheed-Main momentan automatisch nach einer Woche gelöscht. Eine Einstellmöglichkeit für die Löschfrist ist geplant (Hiroyuki am 28.8.2002 in der main-Mailingliste). In Claws-Mail werden sie dann gelöscht, wenn die zugehörigen Nachrichten nicht mehr auf dem Newsserver zur Verfügung stehen. Unter Ansicht kann man mit dem letzen Menüpunkt Caches wegwerfen und neu aufbauen.
Wie kann ich (in Claws) ohne Zitatzeichen auf eine Mail antworten? Schauen Sie sich mal an, was sich bei Rechtsklick auf die diversen Antwortbuttons tut!

III Filterregeln, Verarbeitungsregeln und Actions in Claws


15.1.2005 Verarbeitungs-Regeln und ihre Unterscheidung von Filter-Regeln Die sogenannten Verarbeitungsregeln müssen von den Filterregeln unterschieden werden. Die Filterregeln werden bei der Inkorporation neuer Emails oder auf Befehl des Anwenders ausgeführt. Die Verarbeitungsregeln werden ausgeführt, wenn der Anwender einen neuen Ordner anklickt, um sich die enthaltenen Emails anzeigen zu lassen. Es passiert dann folgendes:
  1. Zuerst werden die global (für alle Ordner gültigen zentral)definierten Vorverarbeitungsregeln abgearbeitet
  2. Sodann werden die Ordnerspezifischen Verarbeitungsregeln abgearbeitet.
  3. Schließlich werden die wieder global (für alle Ordner gültigen zentral) definierten Nachbearbeitungsregeln abgearbeitet.
Das ist ein relative komplexes, aber leistungsfähiges System.
31.8.2007 Mailbearbeitung per Script, das von der Filterengine aufgerufen wird

Bei der Bearbeitung von Emails mit Hilfe von Scripts, die von der Filter-Engine aufgerufen werden, ist es sicherer, eine temporäre Datei als Zwischenschritt zu erzeugen:

execute: "cat %F | my_script.pl > /tmp/blah && mv /tmp/blah %F"

statt

execute: "cat %F | my_script.pl > %F"

Beispiele für Aktionen Auf der Seite von Melvin Hadasht, dem ursprünglichen Autor des Aktionen-Features finden sich eine Reihe von Beispielen, wie man Sylpheed-Aktionen verwenden kann!
15.1.2005 Aktionen per Shortcut aufrufen Da Aktionen automatisch in die Menüs von Claws-Mail eingetragen werden (Werkzeuge - Aktionen), kann jede Aktion auch auf die oben angegebene einfache Weise mit Tastatur-Shortcuts ausgestattet werden - so wie alle anderen Menüeinträge auch! Ansonsten können Aktionen auch auf Icons gelegt und somit per Maus-Click aufgerufen werden.
Decodierung von Inline-pgp-Emails (ASCII armored) mit Hilfe einer Aktion. Dieses Beispiel stammt in der Grundform ebenfalls von Melvin Hadasht und wurde hier nur noch leicht erweitert: Der dekodierte Inhalt wird hier zusätzlich an die ursprüngliche Email angehängt, so dass beim nächsten Anschauen eine erneute Dekodierung nicht mehr nötig ist. Möglicherweise funktioniert das so aber nur für reine Text-Emails:
* gpg --no-tty --command-fd 0 --passphrase-fd 0 --decrypt %p | tee -a %f |
Altersangaben Altersangaben in Filtern und Aktionen werden in Tagen gemacht.
(Das steht zwar auch in der FAQ, taucht aber doch immer wieder als Frage in der Newsgroup auf und soll deshalb hier nochmals wiederholt werden.)
Noch nicht veraltet! Wie kann ich auf die Schnelle mal das Adressbuch durchsuchen? Hier helfen zwei Scripts von Fred Marton weiter. Dazu legt man eine Aktion z.B. mit Namen "Adressbuch durchsuchen" und folgendem Inhalt an: "xterm -e sylpaddrsearch &". Damit es auch funktioniert, werden die folgenden beiden Scripte dann noch irgendwo in den aktuellen Pfad kopiert (oder der Pfad um ihren Aufenthaltsort erweitert) und mit
chmod +x sylpaddrsearch sylpheed2txt.pl
ausführbar gemacht:
Anwendungs- beispiel

(Veraltet, da nun in Filterengine integriert!)
Wie kann ich eingehende Emails herausfiltern, deren Absenderadressen in einem Sylpheed-Adressbuch stehen? Eine solche Funktionalität wird gerne als Hilfe im Kampf gegen den Spam genutzt. Wie gesagt, geht das jetzt einfacher mit der Filterengine, aber lehrreich ist diese Lösung trotzdem noch!
Das folgende Skript kann als Testfilter dienen, dem die Email oder die Absenderadresse als Parameter mitgegeben wird. Das funktioniert ganz ähnlich, wie im nächsten Tip mit Screenshot gezeigt. Es wurde von Holger Berndt in der Claws-Mail-Newsgroup veröffentlicht und ist ein weiteres gutes Beispiel für die Flexibilität und Leistungsfähigkeit der Filtermaschine von Claws-Mail.

#!/bin/bash
# Returns 0 if the mail address of the From-header in $1 is in
# one of my address-books, a value != 0 otherwise.
EMAIL=$1
ADRESSBOOKS="$HOME/.sylpheed/addr*.xml"
EMAIL=$(echo -n "$EMAIL" | sed -e '/<.*>/s/.*<\(.*\)>.*/\1/')
grep -iq $EMAIL $ADRESSBOOKS
exit $?

Die Filterbedinung könnte dann wie folgt aussehen, wenn obiges Script unter dem Namen sc_adressen.sh irgendwo im Pfad steht:

~test "sc_adressen.sh %f"
move "#mh/meineMails/inbox/unbekannt"

Anwendungs- beispiel

(Veraltet, da nun entsprechende Plugins vorhanden.)
Wie kann spamassassin in Sylpheed eingebunden werden?

In den neueren Versionen von Claws-Mail (mindesten 0.9.0, wenn nicht schon 0.8.11) kann SpamAssassin oder inzwischen auch Bogofilter per Plugin eingebunden werden, so dass die folgenden Informationen eigentlich überfluessig sind. Allerdings hat die Einbindung per Filterregel den Vorteil, dass man sie am Schluss der Filterregeln anfügen kann und somit nur die Emails geprüft werden müssen, die anderen Filterregeln nicht bekannt sind. Da das prüfen der Mails recht viel Rechenzeit kostet, kann das von Vorteil sein, wenn man viele Mails auf einmal abholt. Deshalb und weil es so gut funktioniert habe ich diese alte Lösung bei mir immer noch in Betrieb:

Als Filterregel kann bei Arbeit mit der bash Folgendes verwendet werden:
test "!(spamassassin -L -e < %F)" move "#mh/.Mailmk/inbox/spam"

Bei Nutzung von spamd kann als Filterregel zum Einsatz kommen:
test "!(spamc -c < %f)" move "#mh/.Mailmk/inbox/spam"

Unter anderen shells und Betriebssystemen hilft vielleicht der folgende kleine Wrapper für Spamassassin mit Namen 'spamattack':
#!/bin/bash
spamassassin -e -S < $1
if [ `echo $?` -gt 0 ]
then
    exit 0
else
    exit 1
fi
Die entsprechende Filterregel lautet dann:
test "spamattack %F" move "#mh/.Mailmk/inbox/spam"
Sylpheeds-Filterdialog mit Spamregel

Mails, die von spamassassin als SPAM verdächtigt werden, landen somit (unverändert, auch ohne die scores von spamassassin) in einem eigenen Ordner.
Anwendungs- beispiel

(Veraltet, da nun ein clamav-Plugin vorhanden ist)
Wie kann ein Virenscanner in Claws-Mail eingebunden werden? Mit dem oben gezeigten Wrapper für fprot -ai -disinf -packed -silent -rename $1 und
test "mailviruscheck %F" move "#mh/.Mailmk/inbox/virus"
als Filterregel, landen vielleicht auch virenverseuchte Mails in einem eigenen Ordner!
Ergänzt 25.7.2007 Beispiele für Regular Expressions in Filterregeln Mit der folgenden Regel (entnommen aus matcherrc) lassen sich virenverdächtige Emails aussortieren:
body_part regexpcase "Content\\-Type: [a-z0-9_/-]+; name=\"[^\\.]+\\.(bat|pif|cmd|vbs|vba|scr|lnk|com|exe|java|asp|cgi)\"" mark_as_read move "#mh/Mail/trash/vierenverdacht"
body_part ist mit 'Körperbereich' eingedeutscht worden. (Auch dieses Beispiel habe ich aus der Newsgroup entnommen!)

Eine Einführung in Regular Expressions finden Sie hier.
15.1.2005, ergänzt 21.7.2007 Die kaum dokumentierte %as{} - Aktion Diese Aktion war zumindest bis Januar 2005 nicht richtig dokumentiert. Die folgenden Beispiele stammen aus der Claws-Mailingliste. Ein zu lösendes Problem war beispielsweise, dass jemand eine markierte Nachricht in einen ganz bestimmten Ordner verschieben wollte. Mit der Filter-Engine ist das ja kein Problem und mit der %as{}-Aktion ist genau das möglich: die Filter-Engine kann von einer Aktion her aufgerufen werden. Wichtig ist, dass man innerhalb der Klammern die Platzhalterzeichen der Filter-Engine nutzt und nicht etwa die für Aktionen vorgesehenen Platzhalter. Da gibt es relativ feine, aber wichtiges Unterschiede (z.B. bei %f und %F).

Um die ausgewählten Nachrichten in das Verzeichnis "Foobar" des MH-Ordnerbaumes zu verschieben würde folgende Aktion verwendet:

%as{ move "#mh/Foobar" }

Den #mh-Pfad eines Ordners kann man z.B. über die Titelzeile eines Ordner-Eigenschaftsdialogs in Erfahrung bringen. Für die Filtersyntax erstellt man sich vielleicht am besten einfach eine entsprechende Filterregel und kopiert dann den zugehörigen Eintrag. (Auch die Platzhalterzeichen, z.B. %f werden innerhalb der %as-Klammern so interpretiert wie im Filtersystem und haben nicht die Bedeutung, die sie sonst in Aktionen haben, es handelt sich eben um einen echten Aufruf des Filtersystems aus einer Aktion heraus!)

Weitere Beispiele für Filterbefehle, die auch zeigen, dass mehrere Filterbefehle nacheinander aufgerufen werden können, bzw. dass mit Hilfe des execute- Filterbefehls beliebige Programme (auch Skripte) aufgerufen werden können:

%as{ color 2 move "#mh/Mailbox/spam" }

%as{ execute "sa-learn --spam --file '%F'" delete }

%as{ execute "bogofilter -sN < '%F'" move "#mh/Mailbox/trash" }
  oder auch
%as{ execute "bogofilter -Ns -B %F" move "#mh/Mailbox/trash" }

%as{ color 2 execute "bogofilter -Ns -v < '%F'" move > "#mh/Mailbox/spam/test" }

2.6.2006 Wie übergibt man den Betreff der aktuell markierten Email an ein Script? Der folgende Code stammt aus der SC-Mailinglist von Colin Leroy:

grep "^Subject: " %f | sed "s/^Subject: //"| script.sh

oder (auch aus der SC-Mailingliste)

grep ^Subject:\ %f | cut -d\ -f 2-

oder vielleicht etwas ähnliches wie (auch aus der ML)

formail -x subject < %f


IV Mixed Pickles


16.1.2005 "Wie integriere ich eine Volltextsuche in Claws-Mail? Dies kann mit Hilfe von mairix erreicht werden! Für die Integration in Sylpheed könnte ein Vorgehen analog dem Folgendne gewählt werden:
  1. Script mairix.syl im Pfad anlegen
  2. # mairix interface for sylphed
    mairix --purge mairix $1

  3. Eine Aktion mairix in Claws-Mail anlegen und eventuell mit Tastaturshortcut versehen oder auf ein Icon legen:
  4. mairix.syl "%u"

  5. Mit Datei - Mailbox hinzufügen eine neue Mailbox mit Namen 'mairix' anlegen. In dieser Mailbox eine Ordner 'suchergebnis' für die Mairix-Sucheergebnisse ahttp://www.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap09.htmlnlegen.
  6. Die Datei .mairixrc geeignet anpassen, z.B. so:
  7. base=/home/IhrKuerzel mh=IhrSylpheedMailOrdner mfolder=mairix/suchergebnis mformat=mh database=/home/IhrKuerzel/.mairix_database

  8. Nach dem Aufruf der mairix-Aktion kann man den Suchbegriff eingeben. Nach Abschluss der Suche ist noch ein Aufruf von Ansicht - Übersicht erneuern im Ordner suchergebnis nötig, damit die Suchergebnisse auch angezeigt werden.

Es empfiehlt sich die Hilfe zu mairix intensiver zu studieren, um alle Möglichkeiten ausschöpfen zu können und die Funktionsweise von mairix besser zu verstehen.

veraltet, da inzwischen integriert (aber vom Prinzip her noch interessant) Wie integriere ich am einfachsten auf die schnelle eine Rechtschreiprüfung? Wenn Sie unter Einstellungen - Allgemeine Einstellungen - Weiteres - Externer Editor folgendes eingeben:
xterm -e ispell -d deutsch %s
oder auch
wterm -T Rechtschreibprüfung -e ispell -S -d deutsch %s
Dann können Sie mit Hilfe des Buttons 'Externer Editor' im Verfassen-Fenster ihre Mails auf Rechtschreibefehler prüfen lassen. (Voraussetzung: ispell und ein deutsches Wörterbuch sind installiert.
Ergänzt am 11.1.2006 Wie kann ich ein GTK-Thema in Sylpheed verwenden? Hier können Sie ein Thema herunterladen und unter /usr/share/themes/ entpacken. Danach kopieren Sie die Datei /usr/share/themes/IhrThema/gtk/gtkrc in das Verzeichnis/home/IhrHeimatverzeichnis/.sylpheed/ und passen noch die Zeile
# pixmap_path wie folgt an:
pixmap_path "/usr/shar/themes/IhrThema/gtk/"
Danach sollte Sylpheed nach einem Neustart etwas anders aussehen, als vorher ;-).

In der Claws-Mail-GTK2-Version werden unter KDE3.x die Farben in Sylpheed unter Umständen nicht mehr richtig dargestellt, weil die KDE-Einstellungen die Sylpheed-Farbeinstellungen überschreiben. Eventuell kann es dafür hilfreich sein, folgende Datei im eigenen Home-Verzeichnis als 'Ausschalter' anzulegen:

.no-qtrc-to-gtkrc-mapping

Das Anlegen kann wie folgt geschehen:

touch ~/.no-qtrc-to-gtkrc-mapping
Wie kann ich dafür sorgen, dass Claws-Mail schnell bleibt? Claws-Mail ist normalerweise sehr schnell. Es ist ein ausdrückliches Designziel, Claws-Mail schnell und relativ 'leightweight' zu halten. Nichtdestotrotz ist es möglich, Claws-Mail durch eine entsprechende Konfiguration stark zu verlangsamen:
  • Ein grosses Adressbuch zusammen mit der Option Allgemeine Einstellungen - Anzeigen-Karteikarte - Stelle Absender mittels Adressbuch dar wird das Öffnen großer Mailverzeichnisse effektiv verlangsamen!
  • Verzeichnisbasierte Actions in Claws-Mail können das natürlich auch. Je komplexer die Regeln und je mehr Mails im Verzeichnis, desto langsamer wird das Öffnen des Verzeichnisses!
28.1.2007 Wie kann ich ein X-Face-Bild erzeugen?

X-Face-Konvertierung (falls Sie bzw. besser Ihre Sylpheed-Mailingpartner ein kleines Bild in Sylpheed sehen sollen)


V Umstieg von anderen Mailprogrammen


Wie importiere ich ein K-Mail-Adressbuch? Für claws gibt es im tool-Verzeichnis der Sourcen ein perlscript zur Konvertierung des kde-Adressbuches in ein Claws-Mail-Adressbuch. Vor der Anwendung des Perlscripts muss ein csv-Export gemacht werden (Dank an Stefan für die Rückmeldung!).

VI Technische Details


28.1.2007 (Update) Was leistet die Claws-Mail-Kommandozeile? claws-mail --help auf der Konsole eingetippt bringt alle Kommandozeilenoptionen zum Vorschein.
man claws-mail ist nicht ganz so aktuell und funktioniert nur bei Claws-Mail. Mit --config-dir kann man das beim Kompilieren mit ./configure --with-config-dir=RCDIR angegebene vom Standard abweichende Verzeichnis für die Konfigurationsdateien abfragen (Standard ist ~/.claws-mail, RCDIR ist ein Platzhalter für ein alternatives Konfigurationsverzeichnis).
Sie wollen wissen, was der --compose-Switch so drauf hat? Probieren Sie mal folgendes:
sylpheed --compose mk@nospam.martinkluge.de oder, wenn das nicht reicht
sylpheed --compose "mailto:foo@bar?subject=foo&cc=mail@address&body=Test%20message" oder bei Einträgen für Fremdprogramme, die Sylpheed als Mailprogramm nutzen sollen, etwas wie
sylpheed --compose "mailto:%t?subject=%s&cc=%c&body=%b"
Wie bestimmt Sylpheed Mime-Typen? Sylpheed benutzt folgende Dateien in der angegebenen Reihenfolge bei der Bestimmung von Mime-Typen (vgl. auch das Manual im Hilfe-Menü):
$SYSCONFDIR/mime.types
/etc/mime.types (falls die vorherige Datei nicht gefunden wird)
~/.sylpheed/mime.types (überschreibt die zuerst genannten Dateien)
Wie kann ich den Entwicklern beim debuggen helfen? Hier gibt es drei Möglichkeiten (na ja, mindestens):
  1. Sylpheed in einem Terminal starten und dabei die --debug option angeben. Bei einem auftretenden Fehler dann die Ausgabe im Terminal kopieren und an die Entwickler senden.
  2. Beim Verdacht auf Memory-Leaks Sylpheed aus einem Terminal heraus mit Valgrind laufen lassen und dabei beispielsweise folgende Kommandozeile nutzen:
    valgrind --leak-check=yes --leak-resolution=high --num-callers=20 sylpheed --debug
  3. Sylpheed wie folgt im gnu debugger starten und mit 'bt full' einen Backtrace erzeugen:
    gdb /usr/local/bin/sylpheed oder einfach gdb sylpheed
    ...
    (gdb) run --debug
    ... sylpheed benutzen bzw. den Abbruch erzeugen ... (gdb) bt full
28.1.2007 (Update) Versteckte Optionen In der Konfigurationsdatei ~/.claws-mail/clawsrc gibt es mindestens eine versteckte Option, die nicht über die Oberfläche von Claws-Mail konfiguriert werden kann:
mark_as_read_delay=0
Wenn Sie hier die '0' durch z.B. eine '7' ersetzen, wartet Claws-Mail 7 Sekunden lang, bis eine Nachricht automatisch als gelesen markiert wird, wenn Sie die Nachricht öffnen.
Sylpheed mit rsync replizieren Will man Sylpheed an mehreren Orten gleichzeitig nutzen, muß man alle Dateien unter ~.sylpheed mit Ausnahme von des sylpheedrc synchronisieren. Dazu kann man das Programm rsync mit der -t option benutzen. Die -t-Option bewirkt, dass der Zeitstempel der synchronisierten Dateien nicht verändert wird. Ein geänderter Zeitstempel sorgt nämlich dafür das der in den .sylpheed_mark files gespeicherte Gelesen/Ungelesen Status verworfen wird.
15.1.2005 Das Plugin-Interface Kurz gesagt: Es gibt kein Plugin-Interface. Plugins können alle Funktionen von Claws-Mail direkt aufrufen. Dadurch wird es einfach, leistungsstarke Plugins zu schreiben, aber die Plugins werden auch sehr stark vom Claws-Code abhängig. Werden Funktionen geändert, werden die davon abhängigen Plugins möglicherweise unbrauchbar. Deshalb müssen Plugins für jede Claws-Version neu kompiliert werden. Nur dann kann man sich einigermaßen sicher sein, daß sie noch funktionieren. Um das zu erzwingen wird beim Laden der Plugins geprüft, für welche Claws-Version ein Plugin kompiliert wurde. Für frühere Versionen kompilierte Plugins werden dann nicht geladen.

VII Mail-Verschlüsselung und Sicherheit


8.2.2009 SSL/TLS für IMAP-Konten verwenden

Hier ist es wichtig zu verstehen, dass claws-mail für den Imap-Zugriff eine externe Bibliothek verwendet, nämlich die Bibliothek libetpan. Ein verschlüsselter Zugriff auf pop3- Konten ist daher noch keine Gewähr für einen erfolgreichen verschlüsselten Zugriff auf imap-Konten. Wichtig ist, dass libetpan in der aktuell benötigten Version vorliegt und diese openssl und gnutls - Support einkompiliert hat.

Versuchen Sie im Zweifelsfall die neueste Version von libetpan neu zu kompilieren und dabei explizit die configure-Schalter für ssl und gnutls zu setzen. Stellen Sie zuvor sicher, dass die devel-Pakete für openssl und gnutls auf ihrem System vorhanden sind. Nachdem ich das heute gemacht habe und anschließend claws-mail neu kompiliert habe, war es jedenfalls möglich, mit gesicherten Verbindungen auf die IMAP-Server verschiedener Anbieter zuzugreifen.

Ausgehende Nachrichten für eigene Outbox verschlüsseln? Beim Arbeiten mit GNUPG tritt das Problem auf, daß ausgehende Nachrichten auch in der eigenen Outbox mit dem eigenen öffentlichen Schlüssel verschlüsselt werden sollen, damit man sie später in der Outbox lesen kann. Um das zu erreichen muß man in die Datei ~/.gnupg/options die Zeile
encrypt-to 12345678
editieren und 12345678 durch die ID des öffentlichen Schlüssels ersetzen. Auf diese Weise bekommt nicht nur der Empfänger die Datei verschlüsselt, sondern sie wird auch für den Absender passend verschlüsselt.
(Dieser Tip erfolgt ohne Gewähr, ich habe ihn nicht ausprobiert!)