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.
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:
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)