Viele Shell-Kommandos dienen der Arbeit im Netzwerk. In diesem Beitrag lernen Sie die Arbeit mit E-Mail-Programmen kennen, die ohne grafische Oberfläche arbeiten.
Eine E-Mail ist im Grunde eine Textdatei, die bestimmten, über die Jahre etablierten Standards folgt, sodass Software die enthaltenen Daten zum Versand, Empfang und zur Anzeige verwenden kann. Wenn Sie GUI-Programme zum Lesen und Schreiben von Mails verwenden, bekommen Sie von dieser Grundlage kaum etwas mit.
Anders sieht es dagegen aus, wenn Sie einen E-Mail-Client (Mail User Agent, MUA) für die Shell einsetzen: Dann sind Sie in der Lage, Mails innerhalb einer Shell-Sitzung zu senden und zu empfangen. Auch Shell-Skripte können das. Planen Sie aber, dass Nachrichten den lokalen Host verlassen, setzt das voraus, dass Sie den Mail Transport Agent (MTA) entsprechend konfigurieren.
Der Ursprung der Mail als Textdatei zeigt sich, wenn Sie planen, einen Anhang zu versenden. Das Anfügen eines binären Attachments geschieht bei GUI-Programmen häufig vom Benutzer unbemerkt unter der Oberfläche. Beim automatisierten Mail-Versand per Shell-Kommando fällt das Aufbereiten der Daten jedoch in der Regel auf Sie zurück.
Dafür gibt es entsprechende Tools. Sie wandeln die binäre Information in ASCII-Zeichen um (MIME) und erzeugen so eine Nutzlast, die sich per Mail versenden lässt. Der Empfänger wandelt diese Daten dann wieder in das Ausgangsmaterial zurück.
Zum Umwandeln verwenden Sie die Programme Uuencode und Uudecode aus dem Paket sharutils, Mpack oder Uudeview. Eine Ausnahme bildet dabei die Software Mpack: Damit verschicken Sie bei Bedarf ohne Zuhilfenahme eines Mail-Programms Daten, die nicht als Text vorliegen, direkt an den Empfänger.
In Listing 1 dient die Datei eskil.pdf als Beispiel. Dabei kodieren die ersten beiden Zeilen lediglich die Datei. Der Befehl in Zeile 1 schreibt das Ergebnis auf die Standardausgabe, während das Kommando aus Zeile 2 die Daten in eine Datei umlenkt. Das Kommando in Zeile 3 versendet das Ergebnis direkt mit dem Mail-Befehl. Die Option -m weist Uuencode an, die angegebene Datei ins Base64-Format umzusetzen.
Listing 1
$ uuencode -m Datei Datei $ uuencode -m Datei Datei > Ausgabedatei $ uuencode -m Datei Datei | mail -s "Betreff" User@Rechner $ mpack -s "Betreff" Datei User@Rechner $ uuenview -b -o Datei $ uuenview -b -m User@Rechner Datei
Verwenden Sie Mpack, gehen Sie wie in Zeile 4 vor. Der Parameter -s gibt den Betreff für die Nachricht an. Abbildung 1 zeigt beide Programme im Einsatz. Uuenview bietet eine kompaktere Syntax zum Umwandeln der Datei sowie die Möglichkeit, wie mit Mpack die Daten direkt zu versenden (Zeile 6).
Alle diese Fälle setzen voraus, dass Sie den MTA (Exim, Sendmail, Postfix) dazu konfiguriert haben, die so erzeugten Mails vom lokalen Rechner aus zu verschicken. Dabei sollte das Übertragen zum externen SMTP-Server aktuellen Standards (TLS/SSL-Verschlüsselung) entsprechen.
Der MUA mit dem selbsterklärenden Namen Mail liegt nicht nur fast jeder Linux-Distribution bei, sondern findet sich auch auf vielen anderen auf Unix basierenden Betriebssystemen. Er versetzt Sie auf relativ einfache Weise in die Lage, E-Mails zu senden und zu empfangen.
Das Programm bietet außerdem die Möglichkeit, die Ausgabe eines Terminals oder den Inhalt einer Textdatei direkt per Pipe zu versenden (Listing 2, erste Zeile). In der Praxis ließe sich so beispielsweise täglich per Skript der Füllstand der Dateisysteme eines Rechners per E-Mail übermitteln (Zeile 2).
Listing 2
$ Programm | mail -s "Betreff" User@Rechner $ df -h | mail -s "Plattenbelegung Rechner-3" hz@localhost
Für das Arbeiten im Dialog rufen Sie Mail einfach über den Programmnamen auf. Möchten Sie explizit auf eine Mailbox zugreifen, rufen Sie die Software mit der Option -f Datei auf. Das Programm erwartet dann ein File im Mbox-Format.
Die Abbildung 2 zeigt Mail direkt nach dem Aufruf. Über die Eingabe von Zahlen springen Sie zum entsprechenden Listeneintrag. Die zum Bedienen notwendigen Tasten finden Sie in der Tabelle “Auf Knopfdruck”. Abbildung 3 und Abbildung 4 zeigen das Lesen und Beantworten einer E-Mail mit dem Programm. Den Text der Nachricht schließen Sie mit einem einzelnen Punkt ab.
|
Taste |
Aktion |
|---|---|
|
[D] |
Mail löschen |
|
[F] |
Kopfzeile der Mail ausgeben |
|
[H] |
Mails auflisten |
|
[M] |
Mail verfassen |
|
[R] |
Mail beantworten (Absender und alle anderen Empfänger) |
|
[Umschalt]+[R] |
Mail beantworten |
|
[U] |
Löschen rückgängig |
|
[Q] |
Programmende |

Abbildung 2: Verwenden Sie keine speziellen Parameter beim Aufruf, startet Mail mit einer Liste aller Nachrichten, die sich in der Inbox befinden.

Abbildung 3: Das Lesen einer Nachricht erinnert an den Einsatz eines Pagers im Terminal. Tatsächlich kommt ein solcher bei der Anzeige zum Einsatz.
![Abbildung 4: Haben Sie eine Nachricht empfangen und wollen auf diese antworten, drücken Sie einfach [R], wobei das dann auch die Empfänger im CC: umfasst.](https://www.linux-community.de/wp-content/uploads/2018/01/b04-mail-antworten-300x144.jpg)
Abbildung 4: Haben Sie eine Nachricht empfangen und wollen auf diese antworten, drücken Sie einfach [R], wobei das dann auch die Empfänger im CC: umfasst.
Eine neue E-Mail verfassen Sie über [M] und der Angabe des Empfängers. Die Software fragt nach dem Betreff, anschließend geben Sie den Text ein. Diesen schließen Sie in einer gesonderten Zeile mit einem einzelnen Punkt ab. Danach fragt das Programm nach weiteren Empfängern der Nachricht (Abbildung 5).

Abbildung 5: Nachrichten beantworten Sie mit Mail, indem Sie den Nachrichtentext als ASCII verfassen und mit einem einzelnen Punkt auf der letzten Zeile abschließen.
Alpine
Das Programm Alpine bietet durch eine Menüsteuerung etwas mehr Komfort als das spartanische Mail. Die umfangreichen Konfigurationsmöglichkeiten ermöglichen das individuelle Anpassen des Programms an die persönlichen Bedürfnisse.
Innerhalb der Strukturen der Software bewegen Sie sich entweder über die Pfeiltasten, um an die verschiedenen Menüpunkte zu gelangen, oder Sie verwenden die entsprechenden Hotkeys. Ins Hauptmenü gelangen Sie stets über [M]. Nach dem Start sehen Sie die Übersicht des Programms (Abbildung 6). Von hier aus nehmen Sie die notwendigen Einstellungen für den ersten Einsatz vor.

Abbildung 6: Der E-Mail-Client Alpine bietet über Menüs etwas mehr Komfort als der spartanische MUA Mail.
Drücken Sie zunächst [S]+, um ins Setup-Menü zu gelangen. Hier legen Sie, sofern notwendig, den Drucker fest, auf dem Sie Nachrichten ausgeben möchten. Drücken Sie dazu [P]+. Blättern Sie anschließend bis zum Punkt Printer List, und wählen Sie dort den angebotenen Drucker. Zum Ausdrucken verwenden Sie später [Y]+. Dies müssen Sie aber erst bei der Grundkonfiguration einstellen (siehe Tabelle “Erste Konfiguration”). Mit [E] verlassen Sie das Einstellungsmenü, wobei Sie das Speichern bestätigen müssen.
Drücken Sie [S]+ und anschließend [C], um zu den allgemeinen Einstellungen zu gelangen. Die Software schlägt einige Einträge vor (siehe Tabelle “Erste Konfiguration”), die das Arbeiten auf dem lokalen System ermöglichen. Ansonsten genügen erst einmal die Standardeinstellungen.
|
Eintrag |
Wert |
Hinweis |
|---|---|---|
|
Personal Name |
|
– |
|
User Domain |
|
für lokale Mail |
|
Alternate Compose Menu |
|
– |
|
Alternate Role (#) Menu |
|
– |
|
Enable Delivery Status Notification |
|
– |
|
Warn if Blank Subject |
|
warnt beim leeren Betreff |
|
Prefer Plain Text |
|
bei Multipart-Mails den Textteil bevorzugen |
|
Enable Print Via |
|
– |
Eine farbige Ausgabe erhalten Sie durch den Aufruf [S]+[K]. Hier tauschen Sie im oberen Bereich den Eintrag no-color durch einen anderen aus. Anschließend stellen Sie hier ein persönliches Design zusammen. Die Software legt die Einstellungen anschließend in der Datei .pinerc im Home-Verzeichnis ab.
Möchten Sie mit mehreren E-Mail-Adressen arbeiten, fallen einige weitere Schritte bei der Konfiguration an. Legen Sie zunächst für das Speichern der Passwörter mit dem Befehl touch .pine-passfile im Home-Verzeichnis eine leere Datei an. Drücken Sie anschließend [S]+[C], und blättern Sie abwärts, bis Sie den Punkt Advanced User Preferences erreichen. Hier wählen Sie Expose Hidden Config aus.
Blättern Sie weiter, bis Sie bei Normally hidden configuration options anlangen. Bei Incoming Folders tragen Sie die weiteren Postfächer ein, jeweils durch ein Komma getrennt, was manchmal etwas unübersichtlich ausfällt. Ein Eintrag folgt jeweils der Syntax aus Listing 3.
Listing 3
Ordner {Mailserver/Verschlüsselung/user=E-Mail-Adresse}inbox
Listing 4, ein Auszug aus einer Muster-Konfigurationsdatei .pinerc, zeigt, wie diese Einträge in der Praxis aussehen. Es handelt sich jeweils um ein lokales Postfach, einen Zugang via POP3 und einen IMAP-Account. Dabei trägt die Software nur Abweichungen von default sowie belegte Werte ein. Die angelegten Mail-Konten lauten hz, berg und tal.
Listing 4
personal-name=Vorname Name
user-domain=example.com
smtp-server=mail.example.com
# Path of (local or remote) INBOX, e.g. ={mail.somewhere.edu}inbox
inbox-path={mail.example.com/pop3/user=berg@example.com/ssl}inbox
# e.g. feature-list= select-without-confirm, signature-at-bottom
feature-list=enable-print-via-y-command,
default-composer-hdrs=berg@example.com
customized-hdrs=From: Vorname.Name<berg@example.com>
# List of incoming msg folders besides INBOX, e.g. ={host2}inbox, {host3}inbox
incoming-folders=lokal /var/mail/hz, imap {mail.example.com/tls/user=tal@example.com}inbox
printer=lpr
patterns-roles=LIT:pattern="/NICK=lokal/COMM=lokale Mails\\n/ TO=/FROM=/SENDER=hz@localhost/FLDTYPE=EMAIL/FOLDER=\/var\/mail\/hz" action="/ROLE=1/FROM=Vorname Name <hz@localhost>/SMTP=localhost/RTYPE=YES/FTYPE=YES/CTYPE=NO", LIT:pattern="/NICK=tal/COMM=IMAP-Benutzer\\n/FROM=From:Vorname Name <tal@example.com>/SENDER=From: Vorname Name <tal@example.com>/FLDTYPE=EMAIL" action="/ROLE=1/FROM=Vorname Name <tal@example.com>/RTYPE=YES/FTYPE=YES/CTYPE=NO", LIT:pattern="/NICK=berg/COMM=E-Mail Aussenwelt\\n/ SENDER=From: Vorname Name <berg.example.com>/FLDTYPE=EMAIL" action="/ROLE=1/FROM=Vorname Name <berg@example.com>/RTYPE=YES/FTYPE=YES/CTYPE=NO"
Arbeit mit Alpine
Alpine lässt sich halbwegs intuitiv bedienen. Umsteiger von der GUI vermissen unter Umständen die Bedienung per Maus. Am schnellsten funktioniert der Einsatz über die farbig hinterlegten Buchstaben und Sonderzeichen. Das konfigurierte Programm informiert Sie beim Start darüber, welcher der Mail-Ordner jeweils wie viele (neue) Nachrichten enthält (Abbildung 7).

Abbildung 7: Alpine informiert nach dem Start über die Anzahl der neuen und vorhandenen Nachrichten in den jeweiligen Mailboxen.
Um die Mails zu lesen, springen Sie mit [Pfeil oben] nach oben zu MESSAGE INDEX und drücken die Eingabetaste. Der Client zeigt nun eine Liste der Nachrichten (Abbildung 8). Am linken Rand sehen Sie den Status der jeweiligen Mail (Tabelle “Status”).

Abbildung 8: Haben Sie eine Mailbox geöffnet, gibt die Liste der Mails einen direkten Einblick in den Status der jeweiligen Nachricht.
|
Kürzel |
Bedeutung |
|---|---|
|
|
beantwortet |
|
|
zum Löschen vorgemerkt (beim Programmende) |
|
|
weitergeleitet |
|
|
neu, ungelesen |
|
(ohne) |
gelesen |
Das Programm setzt Quoting-Zeichen, auf Wunsch farbig. Das hilft, beim Antworten den Dialog im Blick zu behalten (Abbildung 9). Gehen Sie mit gutem Beispiel voran, und entfernen Sie in erhaltenen Mails alles, was Sie nicht zum Beantworten zitieren möchten. Den Text einfach stehen zu lassen, nach unten zu schieben und darüber eigenen Text einzufügen (TOFU) erhöht die Lesbarkeit der Mail auf keinen Fall.

Abbildung 9: Alpine fügt vor den zitierten Text einer Nachricht ein spezielles Zeichen ein, dass den Verlauf eines Dialogs kennzeichnet.
Beim Erstellen einer Nachricht fügen Sie beim Eintrag Attachment Ihre Anlagen mittels [Strg]+[T] hinzu. Es öffnet sich ein entsprechender Dialog, in dem Sie mit den Pfeiltasten zur gewünschten Datei navigieren und die Auswahl mit der Eingabetaste bestätigen. Abbildung 10 zeigt den Zustand nach dem Einfügen der Anlage, Abbildung 11 das Auswählen einer Datei.

Abbildung 10: Alpine bietet Ihnen die Möglichkeit, beim Erstellen einer Nachricht Dateien anzuhängen.

Abbildung 11: Die Auswahl der Datei für den Anhang erfolgt ebenfalls über einen textbasierten Dialog.
Bei empfangenen E-Mails mit Attachments zeigt Alpine an, dass die Nachricht Anlagen enthält (Abbildung 12). Über [V]+ erhalten Sie eine Liste mit den Inhalten (Abbildung 13), aus der Sie die Anhänge extrahieren und bei Bedarf lokal speichern. Hierzu bewegen Sie die Auswahl auf den passenden Eintrag und drücken [S].
Die wichtigsten Aktionen und die passenden Tastenbefehle finden Sie in der Tabelle “Alpine bedienen”. Beachten Sie den unteren Rand des Programmfensters: Dort zeigt die Software jeweils die möglichen Aktionen an. Allerdings ist diese Hilfe nicht immer vollständig, ein Druck auf [O] fördert die weiteren Möglichkeiten zutage.
|
Taste |
Aktion |
|---|---|
|
[A] |
Adressbuch |
|
[C] |
neue Mail verfassen |
|
[Strg]+[C] |
Abbruch |
|
[D] |
erhaltene E-Mail löschen |
|
[E] |
E-Mail als Datei speichern |
|
[F] |
E-Mail weiterleiten |
|
[I] |
Nachrichtenübersicht (aus Hauptmenü) |
|
[Strg]+[K] |
Zeilen löschen |
|
[M] |
zurück ins Hauptmenü |
|
[N] |
an Absender oder alle |
|
[P] |
Adresse auswählen |
|
[Q] |
Programm beenden |
|
[R] |
E-Mail beantworten |
|
[S] |
Konfiguration |
|
[Strg]+[T] |
Dateiauswahl |
|
[U] |
Löschen aufheben |
|
[Strg]+[U] |
Zeilen löschen rückgängig |
|
[Y] |
|
Fazit
Für den schnellen Blick in die Mails gibt es durchaus Alternativen zu den klassischen E-Mail-Clients mit grafischer Oberfläche. Die Kommandozeilen-MUAs arbeiten wieselflink, bieten eine große Flexibilität und erledigen viele Aufgaben auf Knopfdruck. Dem Einsatz steht höchstens entgegen, dass sie Ihnen mehr Kenntnisse abverlangen, sowohl in Bezug auf den jeweiligen Account als auch hinsichtlich der Funktionsweise des E-Mail-Verkehrs im Allgemeinen. Haben Sie sich aber erst einmal an einen MUA wie Alpine oder den ebenfalls verbreiteten Mutt gewöhnt, fällt der Wechsel zurück auf einen behäbigen GUI-Boliden eher schwer.
Der Autor
Harald Zisler beschäftigt sich seit den frühen 90er-Jahren mit FreeBSD und Linux. Zu Technik- und EDV-Themen verfasst er Zeitschriftenbeiträge und Bücher. Aktuell ist im Rheinwerk Verlag die vierte Auflage von “Computer-Netzwerke” erschienen.
Glossar
-
MIME
-
Multipurpose Internet Mail Extension. Erlaubt es, Binärdaten in ASCII-Zeichen umzuwandeln, um diese dann per Mail zu versenden.
-
Base64
-
Verfahren zur Kodierung von Binärdaten in ASCII-Zeichenfolgen. Teilt je drei Byte in vier 6-Bit-Blöcke auf, die eine Zahl von 0 bis 63 ergeben. Diese Zahlen werden anhand einer Umsetzungstabelle in die ASCII-Zeichen A-Z, a-z, 0-9 sowie + und / umgesetzt.
-
Mbox
-
Format zum Speichern von Mails in einer Datei. Dabei schreibt die Software alle Nachrichten durch Leerzeilen getrennt hintereinander.
-
TOFU
-
Akronym für “Text oben, Fullquote unten”. Grober Verstoß gegen die Netiquette, die ein Inline-Quoting vorsieht.







