Es muss nicht immer Thunderbird, Evolution oder KMail sein. Zwar bieten die großen grafischen Mailclients dem Benutzer viel Komfort, doch es gibt Situationen, in denen ein Einsatz auf der Kommandozeile gefragt ist. Sowohl das Allroundtalent Mutt [1] als auch das sehr schlanke Programm Mailx bieten Optionen für den Batchbetrieb auf der Shell.
Bei den meisten Distributionen zählt Mailx zum Standardumfang. Sowohl OpenSuse als auch Debian enthalten das gleichnamige Paket auf den Installationsmedien. Während unter Open Suse /bin/mail als Symlink auf /usr/bin/mailx verweist, operieren Debian-Systeme anders herum: Hier verweist /usr/bin/mailx auf /usr/bin/mail. Die folgenden Kommandos und Befehlsoptionen wurden alle unter Debian 4.0 "Etch" getestet.
Mailx interaktiv
Starten Sie den Mailclient über den Befehl mailx auf der Shell, so landen Sie in einer interaktiven Umgebung. Der Client präsentiert den Inhalt der Inbox (Standard auf den meisten Systemen: /var/mail/Benutzername
). Dort sehen Sie unter anderem eine Übersicht der Nachrichten mit Absender, Datum, Größe und dem Betreff (Abbildung 1).
Mittels [?],[Eingabe] verschaffen Sie sich einen schnellen Überblick über die Bedienung des Mailers. Eine Nachricht zeigen Sie am einfachsten durch Angabe der Nummer, gefolgt von [Eingabe] dar. Mit der Eingabetaste blättern Sie auch nach unten. Wahlweise verwenden Sie zum Blättern die Pfeiltasten sowie [Bild-auf] und [Bild-ab]; ein Druck auf [Q] beendet die Darstellung und führt zum Hauptbildschirm zurück. Sind die Nachrichten aus dem Fenster herausgescrollt, blendet [H],[Eingabe] wieder die Übersicht ein.
Zum Beenden der Sitzung kennt Mailx zwei Varianten: [X],[Eingabe] beendet den Mailclient, ohne gelesene Mails aus der Inbox zu entfernen. Dagegen meldet [Q],[Eingabe]:
Saved 2 messages in /home/petrosilie/mbox Held 3 messages in /var/mail/petrosilie
Zum Löschen von Nachrichten dient [D],[Eingabe]. Auch hier entscheiden Sie über die entsprechende Nummer gezielt, welche Nachrichten verschwinden sollen. So löscht der Befehl d 1 3 die erste und dritte Nachricht. Einen Bereich wählen Sie zum Beispiel über d 1-10 (entfernt die ersten zehn Mails) oder auch d * (löscht alle Nachrichten) aus. Haben Sie aus Versehen etwas Falsches gelöscht, hilft u (wie "undelete") weiter. Das Kommando versteht die selben Ziffernkombinationen wie d.
Über [R],[Eingabe] beantworten Sie eine Mail, und mit [M] verfassen Sie eine neue Nachricht. Geben Sie direkt dahinter die Mailadresse an:
m petronella@huhnix.org
Danach fordert Mailx Sie auf, den Betreff einzugeben, und Sie können die eigentliche Nachricht verfassen. Sobald Sie fertig sind, geben Sie einen Punkt gefolgt von [Eingabe] ein. Danach können Sie hinter Cc: ("Carbon Copy") weitere Empfänger eintragen:
Cc:ole@huhnix.org,max@huhnix.org
Wer gerne mit seinem Lieblingseditor Mails verfasst, gibt direkt nach dem Subject ~v ein. Mailx wertet dann die Umgebungsvariable [2]$VISUAL aus, um den gewünschten Editor zu identifizieren. Arbeiten Sie also gerne mit Joe [3], dann richten Sie diesen Editor über export VISUAL=joe für Mailx ein.
Auf Kommando
Flexibel und schnell spielt Mailx seine ganze Stärke auf der Shell aus. Der generelle Aufruf lautet:
mailx [Optionen ] user @ziel .tld
In den Optionen definieren Sie beispielsweise nach -s den Betreff der Mail (achten Sie bei der Verwendung von Leer- und Sonderzeichen auf Anführungszeichen), über -b Mailadressen für das Bcc-Feld ("Blind Carbon Copy"), über -c weitere Empfänger per Cc: und so weiter.
Fehlt nur noch der Mailbody, also der eigentliche Text der Nachricht: Handelt es sich um eine kurze Nachricht, hilft echo weiter. Handelt es sich um einen längeren Text, lohnt es sich, diesen in eine Datei auszulagern. Diese lassen Sie Mailx dann aus der Standardeingabe [4] einlesen.
Bei der Fehlersuche hilft der Parameter -v weiter. Auf Debian-Systemen meldet Mailx anschließend, dass es dem Benutzer einen entsprechenden Statusbericht zustellt. Der findet sich kurz danach in der Inbox.
Einige typische Beispiele für die geschilderte Verwendung der Mailx-Optionen finden Sie im Kasten "Mailx-Optionen nutzen".
Mailx-Optionen nutzen
Kopie versenden
$ mailx -s 'Hallo!' petronella@huhnix.org -c petrosilie@huhnix.org […]
Nachricht mit echo
$ echo 'Hallo, hier ist ein Test.' | mailx -s 'Hallo!' petronella@huhnix.org -c petrosilie@huhnix.org
Nachrichtentext auslagern
$ mailx -s 'Hallo!' petronella@huhnix.org < mail.txt
Fehlersuche per Statusbericht
$ echo 'Hallo, hier ist ein Test.' | mailx -v -s 'Hallo!' petronella@huhnix.org Mail Delivery Status Report will be mailed to <huhn>.



