watt mutt datt mutt

reinhard@finalmedia.de Mon 29 Jan 2024 10:12:01 PM CET

Hier möchte ich einmal eine Lanze brechen für den alten (1993)er konsolenbasierten Mail Client mutt. Bald 30 Jahre alt und kein bißchen müde. Wird immer noch weiterentwickelt und gepflegt, enthält Lücken und Bugfixes. Tut einfach. Wenig Bloat. Solide. Es muss ja nicht immer Thunderbird sein. Weiterer Tipp zum Mailprocessing auf der Konsole ist mblaze. Ein Konsolen-Nerd kann damit sehr viel, sehr schnell und sehr flott erreichen. Während die einen noch Klicken ist man auf der Konsole bereits am Ziel.

Setup

Seien wir Konsolen Nerds und möchten diese beiden nützlichen Tools einmal installieren. mblaze ist kein eigentlicher imap client, sondern arbeitet auf maildirs und besteht aus kleinen eigenständigen Programmen, die sich gemäß der Unix Philosophie als Filter einsetzen lassen. Du kannst dir z.B. via sshfs o.ä. ein Mailverzeichnis einmounten und dann mit diesen Tools darauf arbeiten. mblaze ist auch wunderbar scriptbar. Für alles andere (auch wenn man z.B. Mails eben via imap abrufen möchte) ist für Terminal Pseudografik (ncurses) mutt hingegen eine gute Wahl. Beide Tools sind unabhängig voneinander und haben auch sonst nichts miteinander zu tun.

apt-get install mutt mblaze

Mutt, das steht übrigens im Englischen für "Köter", erwartetet dann normalerweise eine Konfigurationsdatei in deinem Homeverzeichnis. ~/.muttrc

Dort würde dann das IMAP Kennwort im Klartext stehen - und das ist eigentlich ein No-Go. Daher gibt es diesen netten Trick, wie man die komplette Konfiguration einfach gpg verschlüsselt speichern kann. Beim Startup von mutt wird man dann einfach z.B. vom gnupg agent nach seiner pgp passphrase gefragt, gpg entschlüsselt die config in der pipe und mutt arbeitet damit. Da man mutt auch Pfade zu anderen muttrc Files übergeben kann, kann man auch in mehreren Terminal mehrere Accounts parallel nutzen.

Das funktioniert so: Sie eigentliche ~/.muttrc sieht dann nur noch so aus:

source "gpg -d /home/username/muttrc.crypted.gpg.asc |"

Das ist also der mutt Befehl source, dann die Anführungszeichen, gpg mit dem Befehl zum Entschlüsseln der übergebenen Datei. Und wichtig... das Pipezeichen am Schluss und wieder das Anführungszeichen. mutt wird diesen befehl dann ausführen und das auf stdout herausfallende Ergebnis als Konfiguration nutzen.

Natürlich musst du nun noch deine verschlüsselte Config erstellen. Nehmen wir an, du verschlüsselst gegen dich selbst und du heißt max.mustermann mit der mailadresse max.mustermann@muster.de, dann wäre das z.B. so eine Konfiguration


gpg -ear max.mustermann@muster.de << :::EOF::: > /home/username/muttrc.crypted.gpg.asc
set realname="Max Mustermann"
set edit_header=yes
set folder="imaps://mail.musterdomain.de/"
set spoolfile="imaps://mail.musterdomain.de/INBOX/"
set record="imaps://mail.musterdomain.de/Gesendet/"
set postponed="imaps//mail.musterdomain.de/Entwürfe/"
set mbox_type="maildir"
set imap_user="max.mustermann@muster.de"
set imap_pass="123456789geheim"
:::EOF:::

Das wars auch schon. Nun kannst du den Befehl

mutt
verwenden und der client synchronisiert sich die Mailbox via imap. Deutlich Flotter als Thunderbird und weniger nervig.