Linux: Mail aus der Kommandozeile senden

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.

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

Halt die Klappe, Alexa! 😤

So, Schluss, aus. Alexa ist abgestöpselt. Stecker aus der Dose, ab ins Regal. Warum? Weil mir das Amazon Echo dauernd reinquatscht. Und weil es mich nicht versteht.

Warum ich von einem simplen „Plop“ so begeistert bin 🎛

VCV-Rack

Ok, es ist mehr, als ein „Plop“ – es ist auch ein „Wi-UUU-Wi-UUU“ und so vieles mehr. Ich spreche von einem modularen Synthesizer. Fast hätte ich mir so ein Ding als Hardware gekauft für über 500 Euro. Doch dann habe ich ein Programm entdeckt, das einen modularen Synthesizer auf dem Computer simuliert.