Handgestrickt

Mutt mit allen Raffinessen nutzen

01.05.2007 Mails professionell verwalten ohne Maus: Mit dem textbasierten Mailclient Mutt stehen Ihnen eine unerreichte Funktionsvielfalt und beinahe unendliche Konfigurationsmöglichkeiten offen.

Wer täglich bis zu 100 oder mehr Mails bekommt – sei es Spam oder ernst zunehmende Post – der weiß einen gut konfigurierbaren Mailclient zu schätzen. Mit Mutt setzen Sie auf ein Programm, dass genau für diesen Einsatzzweck gedacht ist. Es interagiert ausgezeichnet mit anderen Tools, wie Fetchmail und Procmail, und zeichnet sich durch eine äußerst flexible und mächtige Konfiguration aus.

LinuxUser widmete dem Mailclient Mutt [1] bereits mehrere Artikel mit unterschiedlichen Schwerpunkten. Die Texte behandeln unter anderem den einfachen Einstieg [2], den Vergleich zu anderen Mailern [3] sowie den Fork Mutt-NG [4]. Auch die Zusammenarbeit des Mailclients mit anderen Tools kam bereits zur Sprache [5]. Dieser Artikel legt den Schwerpunkt auf Funktionen, die Sie in dieser Form nur bedingt in anderen Mailprogrammen finden. Außerdem beleuchtet er das Zusammenspiel mit dem Texteditor Vim [6].

Grundkonfiguration

Mutt testet beim Start auf die die folgenden Konfigurationsdateien: ~/.muttrc-Mutt-Versionsnummer , ~/.muttrc, ~/.mutt/muttrc-Mutt-Versionsnummer , /etc/Muttrc-Mutt-Versionsnummer und /etc/Muttrc, wobei letztere als globale Konfigurationsdateien arbeiten. Wie Sie sehen, erlaubt es die Software also nicht nur individuell per User Optionen anzupassen, sondern auch für unterschiedliche Versionen des Programms.

Haben Sie noch keine persönliche Konfigurationsdatei, legen Sie ein Gerüst an, indem Sie die Beispielkonfiguration aus /usr/share/doc/mutt/examples/ auf Debian-basierten Systemen, beziehungsweise /usr/share/doc/packages/mutt/contrib auf Systemen, die auf OpenSuse basieren, als Grundlage verwenden.

Sie finden je nach Distribution dort die Dateien sample.muttrc.gz und sample.muttrc-tlr.gz, die Sie mit Gunzip entpacken, oder die ungepackte Versionen. Kopieren Sie eine der beiden Dateien nach ~/.muttrc in Ihr Home-Verzeichnis, und passen Sie das File an Ihre Bedürfnisse an. Informationen zu Ihrer Identität tragen Sie am besten in die Datei ~/.muttrc ein, da alle Programmversionen die Datei lesen:

set realname="Karl Deutsch"
set from="kdeutsch@it-works.co.at"
set envelope_from=yes

Vorsicht: Mit der letzten Option setzt Mutt die mit set from= festgelegte Adresse auch im sogenannten Envelope der Mail ein, was den Transport beeinflusst. Das Programm reicht die Mail nämlich zum Versand an den MTA auf Ihrem System weiter. Fühlt sich dieser nicht für die definierte Domain verantwortlich, und sieht sich auch nicht in der Lage, die Mail weiterzureichen, dannstellt er die Nachricht nicht zu.

Möchten Sie versandte E-Mails archivieren, verwenden Sie den Befehl set copy=yes in Ihrer Konfiguration. Für die Kopien definieren Sie mit set record=Dateiname einen Speicherort. Falls Sie viele Nachrichten verschicken, lohnt es sich, diese in Monatsarchiven abzulegen. Tragen Sie dazu die folgende Zeile in die Datei ~/.muttrc ein:

set record=+outbox/`hostname`_sent-`date +%Y-%m`

Damit legt die Software alle ausgehenden Mails in der Datei Mailordner /outbox/Rechnername _sent-Jahr -Monat (beispielsweise pc_sent-2007-04 oder laptop_sent-2007-04) ab.

Beim Erstellen von Nachrichten ergibt es in einigen Fälle Sinn, dass die Headerzeilen (From, To, CC, BCC, Subject) im Texteditor zum Bearbeiten erscheinen (Abbildung 1). Dieses Verhalten aktivieren Sie durch den Befehl set edit_headers. Sie tragen ihn entweder in die eigene Konfigurationsdatei ein oder geben ihn in der Ansicht "Index" (Liste der Mails in einer Mailbox) nach [:] ein. Mit unset statt set deaktivieren Sie diese Option.

Abbildung 1: Bei Bedarf zeigt Mutt auch die Mailheader im Editor an.

Damit Mutt Sie beim Erstellen einer neuen Nachricht nach Empfänger und Betreff fragt, und zwar bevor er das Editorfenster öffnet, setzen Sie den Befehl unset autoedit ein. Mit der Befehlsfolge unset move weisen Sie Mutt an, gelesene Nachrichten nicht aus der Mailbox zu verschieben.

Beim Antworten auf Nachrichten sollten Sie immer die ursprüngliche Nachricht zitieren. Das erreichen Sie mit dem Eintrag set include. Eine zitierte Nachricht beginnt mit dem Namen des ursprünglichen Absenders, seiner E-Mailadresse, dem Sendedatum und der Uhrzeit. Damit Mutt diese Informationen beim Antworten automatisch und korrekt einsetzt, tragen Sie die folgende Zeile in Ihre ~/.muttrc ein:

set attribution="* %n <%a> [%(%d.%m.%Y %H:%M)]:"

Fast alle Mailprogramme ergänzen beim Antworten auf eine E-Mail das Kürzel Re im Betreff und beim Weiterleiten die Abkürzung Fwd. Falls Sie E-Mails bekommen, bei denen die Betreffzeilen nicht dem Standard entsprechen, weisen Sie Mutt an, die Zeilen zu reparieren. Verwenden Sie dazu die folgende Zeile:

set reply_regexp="^((re([\[^-][0-9]+\]?)*|aw|antwort|antw|wg):[ \t]*)+"

Sie ersetzt die Kürzel aw, antwort, antw und wg durch das gewünschte re. Bei Bedarf ergänzen Sie die Liste um weitere, nicht standardkonforme Varianten.

Vim als Maileditor

Beim Bearbeiten von Mails mit einem Editor empfiehlt es sich, einige Konventionen zu beachten: Zum Beispiel zeugt es vom gutem Stil, eine Zeile spätestens bei 72 Zeichen hart zu umbrechen. Das ermöglicht es dem Empfänger, den Mailtext lesefreundlich anzuzeigen. Falls Sie den Editor Vim [6] zum Schreiben von elektronischen Nachrichten einsetzen, bringen Sie ihn mit folgender Zeile in der ~/.muttrc ein entsprechendes Verhalten bei:

set editor='vim -c "set t_Co=8" -c "syntax on" -c "/^$" -c "set tw=72" -c "set number"'

Das Ergebnis sehen Sie in Abbildung 1. Die Parameter haben folgende Bedeutung: * t_Co: Die Anzahl der Farben, die der Editor verwendet. * syntax on: Die einzelnen Elemente der E-Mail (Absender, Empfänger, Betreff, Inhalt, Unterschrift) werden verschiedenfarbig dargestellt. * /^$: Beim Erstellen einer neuen Nachricht bewegt sich der Cursor für die Texteingabe sofort in die erste Leerzeile, also nach direkt unterhalb des E-Mail-Headers. * tw: Der automatische Zeilenumbruch erfolgt mit Spalte 72. * set number: Am linken Bildschirmrand werden fortlaufende Zeilennummern eingeblendet.

Mit Textbausteinen (Kasten "Textbausteine") und verschiedenen Darstellungsfarben (Kasten "Farben festlegen") vereinfacht sich das Bearbeiten von E-Mails noch weiter.

Abbildung 2: Das Darstellen der verschiedenen Elemente der Nachricht in unterschiedlichen Farben vereinfacht das Lesen gerade bei komplexen Nachrichten.

Textbausteine

Um sich das Tippen beim Erstellen von Mails zu erleichtern, legen Sie Textbausteine für den Editor Vim in der Datei ~/.vimrc an. Dabei verwenden Sie die Form :ab, danach folgt das Textkürzel (zum Beispiel hi) und darauf der ausgeschriebene Text (Hallo). Damit im Text ein Zeilenumbruch erfolgt, tragen Sie CR ein:

:ab hi Hallo
:ab mfg mfg<CR>Karl Deutsch

Farben festlegen

Die Anzeigefarben für E-Mails (Abbildung 2) definieren Sie beim Einsatz von Vim in der Datei ~/.vimrc zum Beispiel auf die folgende Weise:

:hi mailHeader      ctermfg=Grey
:hi mailSubject     ctermfg=Green
:hi mailEmail       ctermfg=Blue
:hi mailSignature   ctermfg=Grey
:hi mailQuoted1     ctermfg=Darkyellow
:hi mailQuoted2     ctermfg=Green

Save-Hooks nutzen

Statt mit einem Mausklick verschieben Sie bei Mutt Mails per Tastendruck in einen Archiv-Ordner. Tippfaule kommen dabei mit den Save-Hooks voll auf Ihre Kosten: Mit diesen wählt der Mailer den Ablageort aufgrund von Ihnen vordefinierten Kriterien. Üblicherweise schlägt er beim Speichern einer Mail mit [S] vor, einen Ordner zu verwenden, der dem Benutzernamen des Absenders entspricht. So lautet für den Absender public@it-works.co.at der Vorschlag public. Das Verhalten ändern Sie mit Hilfe des Befehls save-hook in der Mutt-Konfigurationsdatei:

save-hook '~t public@it-works.co.at' =fotowettbewerb

Dieser Eintrag führt dazu, dass Mutt beim Speichern von Nachrichten an die Adresse public@it-works.co.at die Mailbox fotowettbewerb im Mailordner vorschlägt. Bei = handelt es sich um einen Shortcut für den mittels set folder= definierten Ordner, in dem alle Mailboxen liegen. Möchten Sie in einem ausgewählten Fall eine Mail in einen anderen Folder speichern, überschreiben Sie den Vorschlag einfach manuell an der Eingabe.

Noch mehr Hooks

Wie Sie gesehen haben, nehmen Sie mit Hilfe von Hooks dynamische Anpassungen vor. Das funktioniert aber nicht nur beim Speichern, sondern auch beim Versenden von Nachrichten. Mutt erlaubt es sogar, über Hooks bestimmte Variablen individuell für einen Folder zu setzen. Möchten Sie zum Beispiel unterschiedliche Absenderangaben oder Signaturen verwenden, definieren Sie das wie in Listing 1.

Listing 1
send-hook @thermenhof\.info 'my_hdr From: Karl Deutsch <kdeutsch@it-works.co.at>'
send-hook @thermenhof\.info set signature=~/.signaturkunden
send-hook @mur\.at 'my_hdr From: Karl Deutsch <grml@it-works.co.at>'
send-hook @mur\.at set signature=~/.signaturgrml

Mit dem Befehl folder-hook legen Sie zum Beispiel unterschiedliche Sortierreihenfolgen für verschiedene Mailboxen fest. Das Zeichen < steht als Platzhalter für die Mailbox, die die gesendeten Nachrichten enthält:

folder-hook '=todo' set sort=date-received
folder-hook '<' set sort=date-sent

Hooks ändern die Konfiguration des Mailers zur Laufzeit. Diese Modifikationen bleiben erhalten, bis das Programm endet. Daher haben Hooks manchmal unerwünschte Nebeneffekte. Definieren Sie deshalb einen Default-Hook, der immer dann greift, wenn kein spezieller Hook zum Einsatz kommt:

send-hook . set signature=~/.signature

Dieses Beispiel setzt eine Standard-Signatur, die Mutt der Datei .signature im Home-Verzeichnis entnimmt.

HTML-Mails anzeigen

Mutt zeigt HTML-Mails in vielen Fällen mit dem gesamten HTML-Code als Klartext an. Nutzen Sie zum Darstellen einfach einen Textbrowser wie W3m oder Lynx. Dazu fügen Sie folgende Zeile in die Datei ~/.mailcap ein:

text/html; w3m -dump -T text/html %s; needsterminal; copiousoutput # für w3m
text/html; lynx -dump -force_html %s; needsterminal; copiousoutput # für lynx

Der Befehl copiousoutput sorgt dafür, dass das Umwandeln und Anzeigen sofort erfolgt, sobald Sie die Mail öffnen. Möchten Sie keine HTML-Mails bekommen, informieren Sie den Versender im X-Header mit folgendem Eintrag in der Datei ~/.muttrc darüber:

my_hdr X-Message-Flag: Bitte senden Sie mir keine HTML-Mails mehr. Danke.

Attachments anzeigen

Für die Anzeige von Attachments verwenden Sie externe Anwendungen wie zum Beispiel Acrobat Reader (PDF), OpenOffice (DOC, XLS, PPT, RTF, SXC, SXW, ODF), Gimp oder Display (aus dem ImageMagick-Paket) für Grafiken. Die Konfiguration dafür erfolgt in der Datei ~/.mailcap (Kasten "Anzeigen von Attachments").

Anzeigen von Attachments

Ergänzen Sie in der Datei ~/.mailcap die folgenden Einträge, um Mutt zur Anzeige von Attachments zu bewegen:

application/pdf; acroread %s
application/octet-stream; acroread %s
image/jpeg; gimp %s
image/jpg; gimp %s
image/JPG; gimp %s
image/psd; gimp %s
image/PSD; gimp %s
application/msword; oowriter %s
application/msexcel; oocalc %s
text/richtext; oowriter %s

Ergänzen Sie am Ende jeder Zeile ; copiousoutput ergänzen, zeigt Mutt die Anlagen automatisch an, sobald Sie eine Mail zum Lesen öffnen. Anderenfalls gehen Sie wie folgt vor, um die Anlagen dennoch anzuzeigen: Öffnen Sie das Mail zum Lesen, drücken Sie [V], wählen Sie die gewünschte Anlage (Abbildung 3) mit den Pfeiltasten aus und bestätigen Sie das Öffnen durch [Eingabe].

Abbildung 3: Mutt zeigt alle mit gesandten Attachments in einer Liste an.

Scoring und Farben

Mit dem Scoring verteilen Sie, ähnlich wie bei Newsgroups, Punkte nach bestimmten Kriterien auf die Mails. Geben Sie wichtigen E-Mails viele Punkte, und kennzeichnen Sie sie anschließend mit unterschiedlichen Farben. Das erhöht den Überblick im Mailindex. Sortieren Sie den Posteingang nach der Punktzahl: Damit sehen Sie erwünschte Mails sofort am Anfang der Mailbox (Abbildung 4).

Abbildung 4: Ein ganz normaler Posteingang am Morgen: 126 neue Mails farbig gekennzeichnet und nach Wichtigkeit sortiert.

Die gesamte Konfiguration erfolgt auch in diesem Fall in der Datei ~/.muttrc. Das Definieren der Punktvergabe erfolgt dabei wieder über die speziellen Pattern, die Mutt mitbringt. Mit ~f starten Ausdrücke, die das Programm gegen die Angaben zum Absender prüft. Mit ~s weisen Sie dagegen einer Mail Punkte auf Grundlage eines Tests gegen das Subject zu:

unscore *
score '~f @linuxnewmedia\.de' 35
score '~s RKHunter' 45
score '~s Buchungsanfrage' +10
score '~s Linux' +10
score '~s VlhAGRA' 1
score '~s pill' 1

Im nächsten Schritt legen Sie für die unterschiedlichen Punktwerte Farben fest. Eine Beispielkonfiguration zeigt Listing 2.

Listing 2
color index brightgreen default '~n 31-40'
color index brightyellow default '~n 21-30'
color index brightmagenta default '~n 41-'
color index brightred default '~n 10-20'
color index brightblack default '~n 0-2' # Brightblack = grau

Zum Schluss sorgen Sie mit dem Befehl set sort=score für das Sortieren nach Punktzahl.

Makros

Makros helfen Ihnen, häufig verwendete Aktionen auf eine Taste zu legen. Sie erstellen diese auch in der Konfigurationsdatei. Ein Makro, das mit [F11] alle Mails, die weniger als 9 Punkte haben, markiert und in den Mailorder =temp verschiebt, legen Sie mit der folgenden Zeile fest (Abbildung 4 und Abbildung 5):

macro index <F11> \
<tag-pattern>"~n -9"<enter><tag-prefix><save-message>"=temp"<enter>$ 'in TEMP verschieben'

Abbildung 5: Der Posteingang, wie in Abbildung 4 dargestellt, nach dem Ausführen des Makros zum Verschieben von niedrig bewerteten Nachrichten.

Ein weiteres Beispiel zeigt ein Makro, mit dem das Programm die Konfigurationsdatei ~/.muttrc durch Drücken von [ESC],[a] neu einliest:

macro index <ESC>a \
":source ~/.muttrc\n" \
'Konfigdatei neu einlesen'

Mithilfe solcher Makros, die regelmäßig genutzte Funktionen auf einen Tastendruck komprimieren, arbeiten Sie die Mailflut schnell und effizient ab.

Und weiter?

In der Open-Source-Welt gehört es zum guten Ton, seine Erkenntnisse mit anderen zu teilen: Damit profitieren Sie natürlich auch von den Erfahrungen, die andere bereits mit Mutt gemacht haben. Sehen Sie sich also verschiedene Beispielkonfigurationen an, die im Netz offenliegen [8][9].

Wer noch mehr aus dem Mailclient herausholen möchte, dem stehen mit den zahllosen Erweiterungen [10] viele Möglichkeiten offen. Als Lektüre empfiehlt sich auch das hervorragende Howto von Randall Wood [11]. Wenn Sie einen Mailclient mit Sidebar oder Newssupport benötigen, geben Sie doch Mutt-NG [7] (Mutt Next Generation) eine Chance.

Glossar

MTA

Mail Transport Agent. Ein Dienstprogramm, das den Versand und Empfang von Mails übernimmt.

Infos

[1] Mutt: http://www.mutt.org

[2] Einstieg in Mutt: Andreas Kneib, "Magisch, mächtig, Mutt", LinuxUser 05/2001, S. 86, http://www.linux-user.de/ausgabe/2001/05/086-mutt/mutt.html

[3] Mail-User-Agenten: Balsa, KMail, Mulberry, Mutt und Sylpheed: Andrea Müller, Patricia Jung, "Einfach nur ein Mail-Programm", LinuxUser 3/2003, S. 24, http://www.linux-user.de/ausgabe/2003/03/024-standalone_muas/

[4] Ein neuer Mailer: Andreas Kneib, "Mutt – Next Generation", LinuxUser 03/2005, S. 26, http://www.linux-user.de/ausgabe/2005/03/026-mutt-ng/

[5] SMTP-Plugin für Mutt: Andreas Kneib, "Einfacher Versand", LinuxUser 04/2005, S. 84, http://www.linux-user.de/ausgabe/2005/04/084-msmtp/

[6] Vim: http://www.vim.org

[7] Mutt-NG-Projekt: http://mutt-ng.berlios.de

[8] Beispielkonfiguration von Michael Prokop: http://www.michael-prokop.at/computer/config/.mutt/

[9] Verschiedene Konfigurationsbeispiele: http://wiki.mutt.org/index.cgi?ConfigList

[10] Nützliche Erweiterungen: http://wiki.mutt.org/index.cgi?MuttTools

[11] Randall Wood, "Woodnotes Guide to the Mutt Email Client": http://therandymon.com/papers/using-mutt.pdf

Einem Freund empfehlen    Druckansicht beenden Bookmark and Share
Kommentare