From: Boris Kraut Date: Fri, 31 Aug 2007 00:00:00 +0000 Category: Sender: Message-ID: <20070831000000.Rc8YRB@silberbruch> References: Keywords: Comments: To: undisclosed-recipients: ; Subject: Mutt - Umstieg mit Hindernissen Im privaten Umfeld geben sich immer mehr Leute inzwischen mit den von den eMail-Providern bereitgestellten Webinterfaces zufrieden und auch im beruflichen Leben ist es haeufig einfacher und bequemer per Webbrowser von ueberall auf seine eMails Zugriff zu haben, als diese mit einem archaisch anmutenden, fest installierten Softwarepaket zu verwalten. Doch je mehr Konten man nutzt und je mehr unterschiedliche Provider einem diese zur Verfuegung stellen, desto unuebersichtlicher und aergerlicher wird die Sache. Wer will schon drei unterschiedliche Webseiten abrufen, nur um wirklich alle neuen Nachrichten lesen zu koennen? Und genau hier haben klassische Mailprogramme immer noch einen festen Platz. Egal warum, man sich nun fuer oder gegen eine solche Loesung entscheidet, leider gibt es inzwischen eine fast ueberschaubare Anzahl von Programmen, die alle vorgeben, die ultimative Loesung zu sein und meist leider nur das wenigste halten. Mein persoenlicher Leidensweg fuehrte mich von den beiden Standardprogrammen der Redmonder Softwareschmiede, Microsoft Outlook Express und Microsoft Office Outlook, ueber den von der Mozilla Foundation etwas stiefmuetterlich entwickelten Mailclient Thunderbird hin zu Claws-Mail, der ehemaligen Experimentier-Version der Mailsoftware Sylpheed. Obwohl ich mit Claws-Mail mehr als zufrieden war, wollte ich langfristig mich von einem grafischen Mail User Agent (MUA) trennen. Nach diversen Tests bin ich immer wieder an Mutt haengen geblieben, doch leider ist das Einrichten von Mutt alles andere als leicht. Zwar gibt es haufenweise Anwender die ihre Konfigurationsdatei hoch geladen haben, doch leider sind diese meist schlecht dokumentiert, fuer Einsteiger viel zu ueberladen und eventuell auch nicht mehr fuer die aktuelle Version von Mutt verwendbar. Ich moechte daher meinen Weg zu einem gut eingerichteten Mutt hier kurz erlaeutern. Zu aller erst muss man wissen, dass Mutt sich eigentlich nur um das Verwalten der Nachrichten kuemmert, nicht um das Versenden und Abholen, denn das sollte der lokale Mailserver erledigen. Wer sich nicht gleich einen ausgewachsenen Mail-Transfer-Agent installieren, einrichten und warten will, sondern nur seine Mails von einem der zahlreichen Provider abholen moechte, dem reicht die Schmalspur-Version: Ein Programm, dass Mails abholt (ich nutze fuer diese Aufgabe das Programm getmail) und eins, dass die Mails zum Server schickt (meine Vorliebe gilt hier msmtp). Beide vorgeschlagenen Programme lassen sich recht einfach einrichten und nutzen, es gibt allerdings auch sehr viele Alternativen, weshalb ich nicht naeher darauf eingehe und einfach voraussetze, dass der grundlegende Mailverkehr funktioniert. Wie von jedem groesseren Projekt, dass seine Quelldateien offen legt, gibt es auch von Mutt verschiedene Versionen, die teilweise unterschiedliche Besonderheiten mitbringen. Nachdem die Entwicklung von Mutt eine Zeit lange still stand, haben sich einige Entwickler zusammengeschlossen und einen Ableger namens Mutt-NG herausgegeben. Dadurch aufgeschreckt sind inzwischen auch die Programmierer des Originals wieder aktiver geworden und haben viele der AEnderungen in die Entwicklerversion von Mutt uebernommen. Da der alte Koenig also wieder lebt, gibt es fuer einige kein Grund mehr, Mutt-NG einzusetzen. Wie es damit weitergeht, ist momentan etwas unklar, doch will der Initiator bald weitere Patches und Verbesserungen einpflegen, so dass es abermals eine dritte offizielle Mutt-Version geben koennte. Ich habe mich fuer die Entwicklerversion des alten Mutts entschieden. Diese bietet viele Verbesserungen gegenueber der als stabil gekennzeichneten Ausgabe und habe trotzdem bis heute keine Probleme mit Abstuerzen oder Fehlern gehabt. Am besten man schaut sich alle Geschmacksrichtungen mal an und bildet sich dann selbst ein Urteil. Nun, wie ich oben bereits schrieb, gibt es eine Vielzahl von Konfigurationsdateien fuer Mutt, die Anwender ins globale Netz gestellt haben. Die meisten von euch werden sich die ein oder andere eventuell schon angesehen haben und sich inzwischen fragen, ob ein Umstieg auf Mutt wirklich das richtig ist, denn man versteht erstmal gar nichts. Aber keine Angst, so schlimm wird es nicht. Vergesst diese Konfigurationsdateien, denn sie sind nicht dafuer gedacht dem Einsteiger ein Rundum-Sorglos-Paket an die Hand zu geben. Sie richten sich eher an erfahrene Anwender, die eine elegante Loesung fuer kleinere Ecken und Kanten suchen, die im alltaeglichen betrieb von Mutt irgendwann auftauchen. Nun gut, wenn man keine vorgefertigte Konfigurationsdatei nutzen sollte, dann muss man sich eben selbst eine machen. Dabei setzt man sich nicht an einen Editor und schreibt diese von A bis Z, sondern schaut einfach, was einem beim Benutzen von Mutt stoert, schlaegt nach, welche Variable das Verhalten aendern koennte und probiert diese dann aus. Gott sei Dank besitzt Mutt so genannte sane defaults, also voreingestellte Werte, die schon mal eine vernuenftige Basis schaffen. Startet man Mutt kann man ohne laestige Konfiguration schon ganz vernuenftig damit arbeiten. Standardmaessig wird die System-Mailbox aus $MAIL verwendet. Dies Auswahl der Nachrichten kann ueber die Pfeiltasten erfolgen, eine neue Mail erstellt man mit der Taste m und mit r leitet man eine Antwort ein. Um andere einen anderen Mailordner zu oeffnen drueckt man c. Mit diesen wenigen Tasten kann man teilweise schon recht gut den taeglichen Mailverkehr bewaeltigen. Hat man sich ein wenig eingelebt fallen einem sicher schon die ersten Sachen auf, die man gerne aendern moechte. In meinem Fall wollte ich meine bisherigen Mailordner die im (n)MH-Format vorliegen nicht nur importieren, sondern die bestehenden Strukturen weiter nutzen, woraus sich folgende ersten Eintraege in meiner .muttrc ergaben: > reset all > set folder=~/mail > set spoolfile=$MAIL > mailboxes +received +draft +queue +sent +trash > set mbox_type=MH > set mbox=+received > set record=+sent > set postponed=+drafts > set postpone=ask-yes Zuerst setze ich also alle Einstellungen auf die Grundwerte zurueck und bestimmen dann einen Platz im Dateisystem, an dem Mutt nach neuen Mailordnern suchen soll und gegebenenfalls diese erstellen soll. Sobald man folder gesetzt hat, kann man sich das Ausschreiben sparen: Die Platzhalter + und = in einem Verzeichnisnamen werden durch den hier festgelegten Pfad ersetzt. In Zeile 3 sagen wir eigentlich unnoetiger Weise, dass er als Standardmailbox die des Systems nutzen soll. In der naechsten Zeile geben wir an, welche Mailordner wir noch nutzen moechten. Hier wird - wie oben bereits geschrieben - das Pluszeichen durch die Pfadangabe aus folder ersetzt. In Zeile 5 legen wir fest, dass Mutt im zweifelsfall von einer MH-Mailbox ausgehen soll. Mutt erkennt den Mailbox-Typ eigentlich automatisch, so dass die Einstellung hauptsaechlich fuer solche Mailboxen gilt, die Mutt selbst anlegt. Mit der Einstellung mbox legen wir nicht fest, was die Standardmailbox sein soll, denn das haben wir ja bereits mit spoolfile erledigt. Viel mehr legt diese Variable fest, wohin frisch eingegangene eMails verschoben werden, wenn man sie gelesen hat. Standardmaessig haelt Mutt in spoolfile also nur wirklich neue Mails vor. Die beiden naechsten Zeilen geben entsprechend den Speicherort fuer eMails an die verschickt worden sind beziehungsweise die man zu schreiben angefangen, aber nicht abgeschickt hat. Der neunte Eintrag legt dabei noch das Verhalten fest, ob angefangene eMails automatisch als Entwurf gespeichert werden sollen. Hier habe ich mich dafuer entschieden, dass Mutt mich fragen soll, wobei die Standardauswahl auf ja steht, sodass ein bestaetigen mit der Eingabetaste ausreicht, um den Entwurf zu sichern. Als naechstes moechte man eventuell Mutt etwas freundlicher und uebersichtlicher gestalten, indem man andere Farben verwendet. Wenn das Terminal Farben unterstuetzt, so sollte man mit Eintraegen der Art color BEREICH FARBE1 FARBE2 [REGEX] in der Konfigurationsdatei die jeweiligen Stellen einfaerben koennen. Am einfachsten ist es, wenn man die Farbdefinitionen aus einer muttrc aus dem Internet kopiert, von der man von einem Screenshot weiss, wie sie aussieht. Diese kann man dann seinen eigenen Beduerfnissen anpassen. Weitere fuer viele Nutzer sehr dringend benoetigten Einstellungen kann man gut dokumentiert beim CCC Stuttgart [1] finden. Hat man diese grobe Konfiguration erledigt, ist Mutt eigentlich schon mit allem noetigen versorgt und nichts steht einem unbeschwerten eMail-Vergnuegen im Wege. Wer jetzt noch Kleinigkeiten aendern will, dem empfehle ich die schon erwaehnten viele Konfigurationsdateien im Internet - beispielsweise [2] und [3] - durch zuarbeiten und sich die gewuenschten AEnderungen raus zuziehen. Als Nachschlagewerk reicht meist das Mutt-Handbuch bzw. das Manual fuer die Konfigurationsdatei muttrc. Sie dokumentiert alle Variablen und Befehle in ein paar gut verstaendlichen Saetzen. Solange man sich daran haelt, nur das in seine Einstellungen zu uebernehmen, von dem man weiss, was es aendert und auch dass es geaendert werden soll, kann man nichts falsch machen und die Konfigurationsdatei bleibt klein und uebersichtlich. Im Zweifelsfall gilt: Was in den Standard-Werten nicht stoert, muss auch nicht geaendert werden. Was Mutt so speziell Macht, sind seine so genannten Haken (bzw. hooks) und Makros. Damit lassen sich Ablaeufe automatisieren, das Menue anpassen und vom Kontext abhaengige Kurzwahltasten definieren. Da ich selbst noch nicht all zulange Mutt nutze, habe ich damit leider sehr wenig Erfahrung, so dass ich nur auf die allgemeine Syntax eingehen kann. Bei den hooks gibt es verschiedene Sorten, die sich jeweils in ein bestimmtes Ereignis einhaken und sobald dieses ausgeloest wird bestimmte Befehle ausfuehren. So kann man mit den folgenden beiden Zeilen beispielsweise seine Signatur dem jeweiligen Ordner anpassen: > folder-hook geschaeft set signature=~/.geschaeftlich > folder-hook privat set signature=~/.privat Neben dem folder-hook gibt es natuerlich noch weitere Ereignisse, so zum Beispiel den send-hook, den save-hook und einige mehr. Fuer eine ausfuehrliche Beschreibung sollte man sich die genannten Dokumentationen genauer durchlesen. Die Makros sind wie in anderen Programmen auch nuetzliche Helferlein zum vereinfachen von langwierigen Aufgaben. Sie koennen in Mutt fuer jeden Bereich einzeln definiert werden, so dass hier in unserem Beispiel die Taste G im Bereich pager und index zum Abholen der Mails mit fetchtmail genutzt werden kann: > # These run fetchmail (or wake up the daemon) > macro pager G "!fetchmail\r" > macro index G "!fetchmail\r" Der letzte Punkt, den ich ansprechen will, ist die Integration von GnuPG in Mutt. Hierzu gibt es bereits sehr gute Anleitungen - unter anderem bei [5] oder [7] zu finden - im Internet, so dass ich nur kurz auf ein paar kleine Fallstricke eingehen werde. Wenn man wieder der Devise folgt, nur das zu aendern, was einen stoert, sollten die voreingestellten Werte schon zum Grossteil ausreichen. Am problematischsten sind Optionen, die in vielen Beispielen noch verwendet werden, aber in den aktuellen Versionen von Mutt gestrichen wurden. Besonders die Option pgp_encryptself wird schmerzlichst vermisst. Mit ihr konnte man ausgehende Nachrichten automatisch auch mit seinem eigenen Schluessel kodieren, sodass man diese auch selbst wieder entschluesseln konnte, wenn man beispielsweise Kopien seiner ausgehenden Mails auf dem eigenen Rechner speichert. In neueren Version editiert man einfach die Verschluesselungsbefehle selbst, um diese Wirkung zu erzielen. Was genau zu aendern ist, erklaert [6] sehr gut. Wer weitere Fragen hat, der findet auf zahlreichen Webseiten - hier sei die Seite von Roland Rosenfeld [4] lobenswert erwaehnt - und in Mailinglisten sowie IRC-Kanaelen jede Menge Anlaufstellen zum Informationsaustausch. Ich hoffe, dass ich mit diesem kleinen Artikel einigen die Angst vor Mutt nehmen konnte und dass der ein oder andere hier seinen zukuenftigen Traum-MUA gefunden hat. [1] http://www.cccs.de/wiki/bin/view/Main/MailMitMutt [2] http://www4.autistici.org/0xFE/codes/html/muttrc.html [3] http://linuxbrit.co.uk/downloads/dot.muttrc [4] http://www.spinnaker.de/mutt/ [5] http://en.tldp.org/HOWTO/Mutt-GnuPG-PGP-HOWTO.html [6] http://www.wlug.org.nz/MuttGPGEncryptToSelf [7] http://www.infodrom.org/~joey/Writing/freeX/mutt-gpg/