Linux: Mail aus der Kommandozeile senden

Foto des Autors

Mit Linux können Sie ganz einfach eine Mail aus der Kommandozeile heraus senden. Das ist ideal für kurze Tests oder für Scripts, die automatisch Statusmeldungen an einen Admin senden sollen.

Tippen Sie auf der Kommandozeilenebene folgende Befehlszeile ein:

echo "Ich bin der Nachrichtentext" | mail -s"Testmail" foo@foo.bar

Mit einem [Return] wird die Mail auf den Weg geschickt. Achten Sie darauf, dass hinter dem Parameter -s kein Leerzeichen stehen darf.

Linux: Dateien und Text von Kommandozeile aus senden

Linux-Profis müssen immer wieder Dateien von der Kommandozeile aus versenden – zum Beispiel Log-Dateien. Vorausgesetzt, der Linux-Rechner ist sauber konfiguriert, geht das mit dem Kommandozeilenbefehl

uuencode datei.log datei.log | mail –s“Die Log-Datei“ user@foo.bar

Hinter uuencode steht zunächst der Name der zu codierenden Datei, darauf folgt der Name, unter dem die Datei in der Mail erscheint. Das codierte File wird an mail übergeben und mit dem Betreff Die Log-Datei an den Empfänger geschickt.

In dieser Form erhält der Empfänger allerdings nur die Datei und die Betreff-Zeile. Um zusätzlich noch einen Text zur Datei einzugeben, wird das Kommando etwas komplizierter:

(echo "Hallo";uuencode datei.log datei.log) | mail -s"Die Log-Datei" user@foo.bar

Die Klammer fasst die darin enthaltenen Anweisungen, also den simplen echo-Befehl und das uuencode, zusammen und übergibt die daraus resultierenden Daten der E-Mail. Um mehrere Zeilen Text einzugeben, verwendet man mehrere echo-Zeilen, die jeweils mit einem Strichpunkt getrennt sind oder schreibt die Zeilen in eine Textdatei und sendet sie mit cat brieftext.txt an den Mail-Befehl.

Werbung

Alternative Mutt

Wenn Ihnen der Weg über uuencode zu umständlich ist, probieren Sie es mit dem Paket „mutt“, das Sie über die Paketverwaltung Ihre Linux installieren.

Angenommen, Sie möchten sich eine Datei backup.tgz zuschicken. In diesem Fall lautet das notwendige Kommando

mutt -s 'Backup-Daten' -a backup.tgz -- xy@beispiel.de < /dev/null

Der Parameter -s legt dabei den Betreff der Nachricht fest. Über den Parameter -a definieren Sie die anzuhängende Datei. Sollen es mehrere sein, schreiben Sie einfach die Namen getrennt durch Leerzeichen hin. Die beiden Minuszeichen sind notwendig, um die E-Mail-Adresse von den Optionen zu separieren.

Dass zum Ende der Zeile eine Eingabe vom Null-Device erfolgt, hat damit zu tun, dass mutt zwingend eine Eingabe für den Textteil der Nachricht fordert. Der ist in diesem Fall leer, weil /dev/null ein leeres Pseudo-Gerät darstellt.

Möchten Sie tatsächlich einen Nachrichtentext erzeugen, dann nutzen Sie mutt so:

echo "Anbei das Backup-File von heute" | mutt -s 'Backup-Daten' -a backup.tgz -- xy@beispiel.de

Per Webmail empfangen sieht die automatisch erzeugte Nachricht dann so aus:

Binärdatei per Shell
Binärdatei per Shell
Werbung
Foto des Autors

Martin Goldmann

Martin ist seit 1986 begeistert von Computern und IT. Er arbeitete von 1986 bis 2011 als Autor und Redakteur für diverse Computer-Zeitschriften. Seit 2011 ist Martin Goldmann als Kameramann und Redakteur in der Videoproduktion tätig und hält Video-Schulungen. Doch das Thema Computer hat ihn nie los gelassen. Seine Schwerpunkte hier auf Tippscout.de: Apple-Software, Videoproduktion, Synthesizer.