Mutt Mail-Client Step by Step

Mir war gerade so „nerdig“ zumute. Ausserdem mag ich Minimallösungen, zumindest für Computer. Hinzu kommt, dass ich Herausforderungen solcher Art liebe.

Die Herausforderung, die ich mir stellte: E-Mails mit einem minimalen Aufwand an Rechenleistung verschicken und empfangen.

E-Mail versenden mit Outlook oder Thunderbird ist nun wirklich keine Kunst. Aber Thunderbird ist etwas ressourcenhungrig und verbraucht manchmal 10% RAM. Deswegen machte ich mich auf die Suche nach etwas „Einfachem“. Ich habe „es“ und eine neue Herausforderung in Sachen Konfiguration und neue Programme gefunden: Das Programm „mutt“.

Mutt ist ein Kommandozeilenprogramm, das über Tastenbefehle und Konfigurationsdateien gesteuert wird. Das schreckt natürlich schon mal viele Leute ab. Die Konfigurationen zeige ich unten.

Ich finde es ganz einfach faszinierend, dass die Zusammenarbeit von „Terminal“ und einem Texteditor so reibungslos funktioniert und auf so einfache Weise Nachrichten auszutauschen sind.

Es hat sich herausgestellt, dass mutt sich nicht so ohne weiteres für einen GMX-Account konfigurieren lässt. Meine Lösung hat noch immer kleine Einschränkungen. So wird zum Beispiel das Zertifikat fürs Senden nicht gespeichert, bzw. mutt nutzt das gespeicherte Zertifikat beim Neustart nicht. Vielleicht finde ich nächstens mal heraus, wie ich das ändern kann.

Die folgenden Anleitungen richten sich an Linux-User.

Ich habe mutt in Manjaro (Arch Linux) installiert. Das funktioniert aber auch auf jedem anderen System. Viele Tutorials finden Sie für Ubuntu oder andere Debian-Systeme.

Mutt einrichten

Tutorial von gotbletu (in Englisch) siehe hier: https://www.youtube.com/watch?v=_Unn7fysiE0

Paket „mutt“ installieren.

Versteckten Ordner „/.mutt“ im Homeverzeichnis einrichten:

$ mkdir ~/.mutt

$ cd .mutt

Mit dem „Lieblingseditor“ (vim, nano, gedit, mousepad, usw.) darin eine Textdatei erstellen und bearbeiten („username“ ist logischerweise zu ersetzen, auch andere Dateinamen funktionieren.):

$ account.com.gmx.username

In diese Datei folgenden Text schreiben, hier das Beispiel für einen GMX-Account:

set imap_user = "username@gmx.ch"                       
set imap_pass = "PASSWORD"     
set ssl_starttls=yes                               
set smtp_url = "smtps://username@gmx.ch@smtp.gmx.com:465/"    
set smtp_pass = "PASSWORD"       
set from = "username@gmx.ch"
set ssl_starttls        = yes
set use_from=yes                                                      
set realname = "My real name"                                  
set folder = "imaps://imap.gmx.com:993"                     
set spoolfile = "+INBOX"                                      
set postponed = "imaps://imap.username@gmx.ch/Drafts"                             
set header_cache = ~/.mutt/com.gmx.username/cache/headers            
set message_cachedir = ~/.mutt/com.gmx.username/cache/bodies         
set certificate_file = ~/.mutt/com.gmx.username/certificates   

Für weitere Beispiele, zum Beispiel einen gmail Account einrichten, siehe https://github.com/gotbletu/shownotes/blob/master/mutt.md

Weil das Passwort im Klartext steht, sollten als Minimalmassnahme 1) die Rechte eingeschränkt werden:

chmod 700 /home/user/.mutt/account.com.gmx.unsername

Als nächstes im Homeverzeichnis eine versteckte Datei /.muttrc erstellen und mit einem Editor bearbeiten.

namedesrechners ~/.muttrc

Hier ist der Code (Quelle gotbletu), username ersetzen, für mehrere Accounts bei „macro index :<F12> …“ Linie kopieren und weitere Tasten zuweisen:

# Folder hooks
folder-hook 'account.com.gmx.username' 'source ~/.mutt/account.com.gmx.username'
folder-hook 'username.bluewin.com' 'source ~/.mutt/username.bluewin.com'
folder-hook 'username.com 'source ~/.mutt/username.com'

# Default account
source ~/.mutt/account.com.gmx.username

# Macros for switching accounts

macro index <F7> '<sync-mailbox><enter-command>source ~/.mutt/account.com.gmx.username<enter><change-folder>!<enter>'
macro index <F8> '<sync-mailbox><enter-command>source ~/.mutt/username.bluewin.com<enter><change-folder>!<enter>'
macro index <F9> '<sync-mailbox><enter-command>source ~/.mutt/username.com<enter><change-folder>!<enter>'


# Set default text editor
set editor = "$EDITOR"

set query_command= "abook --mutt-query '%s'"
macro index,pager A "<pipe-message>abook --add-email-quiet<return>" "add the sender address to abook"


#-------- Basic Config {{{
#------------------------------------------------------
set imap_check_subscribed
# set hostname = gmx.net
set mail_check = 120
set timeout = 300
set imap_keepalive = 300
set record="~/mail/sent"
set move = no
set include
set sort = 'threads'
set sort_aux = 'reverse-last-date-received'
set auto_tag = yes
ignore "Authentication-Results:"
ignore "DomainKey-Signature:"
ignore "DKIM-Signature:"
hdr_order Date From To Cc
alternative_order text/plain text/html *
auto_view text/html
bind editor <Tab> complete-query
bind editor ^T complete
bind editor <space> noop
# }}}
#-------- Color Theme {{{
#------------------------------------------------------

color hdrdefault cyan default
color attachment yellow default

color header brightyellow default "From: "
color header brightyellow default "Subject: "
color header brightyellow default "Date: "

color quoted green default
color quoted1 cyan default
color quoted2 green default
color quoted3 cyan default

color error     red             default         # error messages
color message   white           default         # message  informational messages
color indicator white           red             # indicator for the "current message"
color status    white           blue            # status lines in the folder index sed for the mini-help line
color tree      red             default         # the "tree" display of threads within the folder index
color search    white           blue            # search matches found with search within the internal pager
color markers   red             default         # The markers indicate a wrapped line hen showing messages with looong lines

color index     yellow default  '~O'
color index     yellow default  '~N'
color index     brightred       default '~F'    # Flagged Messages are important!
color index     blue default    '~D'            # Deleted Mails - use dark color as these are already "dealt with"
# }}} 

Rechte einschränken:

chmod 700 .muttrc

Wenn alles richtig eingetragen ist, startet mit dem Befehl „mutt“ (im Terminal) der Kommandozeilen Mail Client und zeigt die neusten E-Mails.

Mutt nutzen

Nun einfach mal das Fragezeichen eingeben. Damit werden die Buchstabenkombinationen, mit denen das Programm bedient wird, angezeigt. Mit der Leertaste können Sie blättern, bis Sie wieder beim ursprünglichen Fenster mit den letzten Nachrichten landen.

Bewegen Sie dort die Pfeile auf die gewünschte Nachricht und drücken die Eingabetaste!

Mit der Leertaste gelangen Sie zur nächsten Nachricht. Mit der Taste „i“ finden Sie zurück zur Übersicht Ihrer E-Mails.

Natürlich können Sie direkt zu einer Nachricht springen, indem Sie die entsprechende Nummer eingeben.

Mit mutt eine Nachricht verfassen

Drücken Sie die Taste „m“. Dann geben Sie Adresse, Betreff und so weiter ein und natürlich die Nachricht. Um die Nachricht zu verfassen, startet der Standard-Editor, in meinem Fall „nano“. Natürlich können Sie in der .muttrc Ihren Lieblingseditor definieren. Ich habe schliesslich „vim“ gewählt.

vim

Nun die Nachricht speichern und den Editor verlassen. Sie landen wieder in der Shell, also im Terminal, wo immer noch mutt läuft. Ihre Nachricht ist nun bereit zum Versenden.

Etwas ungewohnt ist, dass mutt ihre Nachricht wie einen Anhang behandelt und anzeigt. Für Ihre Empfänger wird alles wie gewohnt aussehen. Für Sie schaut es so aus:

mutt

Falls noch ein Anhang beigefügt werden soll, drücken Sie „a“ und ziehen das Dokument in den Terminal (oder die Konsole). Der Pfad wird automatisch eingefügt. Sie können auf diese Weise mehrere Dokumente einfügen.

Mit der Taste „y“ senden Sie Ihre Nachricht.

Weiter Infos, siehe zum Beispiel hier: http://www.selflinux.org/selflinux/html/mutt03.html

Wie man mit „vim“ umgeht, wird hier sehr ausführlich erklärt: https://www.youtube.com/watch?v=VL8OC6Yra4U

Adressbuch

Abook ist ein Adressbuch, das mit „mutt“ genutzt werden kann. Dazu vorgehen wie hier beschrieben: http://blog.laukien.com/software/mutt-mit-abook-als-adress-speicher.html Siehe auch oben in .muttrc:

set query_command= "abook --mutt-query '%s'"
macro index,pager A "<pipe-message>abook --add-email-quiet<return>" "add the sender address to abook"

Ich habe mir eine Alternative zusammengebastelt, die mir ganz gut gefällt. Ich weiss leider nicht mehr, bei wem ich das kleine Skript abgeschrieben habe.

Jedenfalls haben Sie womöglich bereits ein Adressbuch, zum Beispiel im Thunderbird oder Evolution oder einem anderen E-Mail-Client. Exportieren Sie es als CSV-Dokument und speichern es in einem leicht zu findenden Ordner.

Dann erstellen Sie eine Textdatei „parsecsv.sh“ mit folgendem Inhalt:

#!/bin/bash
OLDIFS=$IFS
IFS=";"
while read user job uid location
 do

    echo -e "$user \
    ======================\n\
    Role :\t $job\n\
    ID :\t $uid\n\
    SITE :\t $location\n"
 done < $1
 IFS=$OLDIFS

Machen Sie die Datei ausführbar.

cd /pfadzumordnerderdatei
chmod a+x parsecsv.sh

Mit folgendem Kommandozeilenbefehl finden Sie einen bestimmten Namen in Ihrer CSV-Adress-Datei:

/pfadzumordnerderdatei/parsecsv.sh  /pfadzumadressbuch/addressbook.csv | grep name

Da, wo „name“ steht, schreiben Sie den zu suchenden Namen hin, zum Beispiel „tom“. Gross- / Kleinschreibung beachten! Grep listet dann alle E-Mail-Adressen, die „tom“ beinhalten auf. Fahren Sie mit dem Curser darauf, Rechtsklick, E-Mail-Adresse kopieren und logischerweise im Adressfeld von „mutt“ einfügen.

Bestimmt gibt es noch viele andere Arten, das zu bewerkstelligen. Das Schöne an Linux ist, dass Sie hier Ihren individuellen Weg finden können.

Gesendete Nachrichten

Mit dieser Einstellung in .muttrc

set record="~/mail/sent"

kopiert mutt jeweils die gesendete Nachricht in den Ordner /mail. Die gesendeten Nachrichten werden gelesen, indem man mutt im Terminal mit diesem Befehl startet:

mutt -f /home/username/mail/sent

 

 

1) Wer das Passwort verschlüsseln möchte kann wie folgt vorgehen, siehe https://nixtricks.wordpress.com/2010/05/05/mutt-configure-mutt-to-receive-email-via-imap-and-send-via-smtp/ (in Englisch)

Tom Zai Verfasst von:

Tom Zai ist Autor, Verleger, Lehrer, Moderator, Musiker und noch vieles mehr.