E-Mails über das Linux-Terminal versenden: Ein Leitfaden

Melden

Hier ist ein ausführliches Tutorial, wie du E-Mails direkt über die Linux-Kommandozeile versenden kannst. Dies ist besonders nützlich für Server-Benachrichtigungen, Backups oder Automatisierungsskripte.

Es gibt verschiedene Werkzeuge, um E-Mails unter Linux zu versenden. In diesem Tutorial behandeln wir die gängigsten Methoden: den klassischen mail-Befehl, den modernen msmtp-Client (für externe SMTP-Server wie Gmail) und mutt für Anhänge.


Methode 1: Der klassische Weg mit mail (mailutils)

Das Paket mailutils (oder bsd-mailx) ist der Standardweg für einfache Text-E-Mails.

1. Installation

Auf Debian-basierten Systemen (Ubuntu, Mint):

sudo apt update
sudo apt install mailutils

2. Eine einfache E-Mail senden

Du kannst den Text direkt per "Pipe" an den Befehl übergeben:

echo "Dies ist der Inhalt der E-Mail" | mail -s "Mein Betreff" empfaenger@beispiel.de
  • -s: Definiert den Betreff.
  • Am Ende steht die E-Mail-Adresse des Empfängers.

Methode 2: E-Mails mit SMTP-Server versenden (msmtp)

Heutzutage blockieren viele Provider E-Mails, die direkt von einer dynamischen IP-Adresse gesendet werden. Daher ist es sinnvoll, einen echten E-Mail-Account (wie Gmail, Outlook oder eigene Domains) als Relay zu nutzen. msmtp ist dafür ein hervorragendes Tool.

1. Installation

sudo apt install msmtp msmtp-mta

2. Konfiguration

Erstelle eine Konfigurationsdatei in deinem Benutzerverzeichnis:

nano ~/.msmtprc

Füge folgendes Beispiel ein (angepasst an deinen Anbieter):

defaults
auth           on
tls            on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile        ~/.msmtp.log

account        default
host           smtp.dein-anbieter.de
port           587
from           deine-mail@beispiel.de
user           deine-mail@beispiel.de
password       dein-passwort

Sichere die Datei ab (wichtig, da sie dein Passwort enthält):

chmod 600 ~/.msmtprc

3. Versandtest

echo "Test-Nachricht über SMTP" | msmtp empfaenger@beispiel.de

Methode 3: E-Mails mit Anhängen versenden (mutt)

Wenn du Dateien (wie Log-Files oder Backups) mitschicken möchtest, ist mutt das beste Werkzeug.

1. Installation

sudo apt install mutt

2. Eine E-Mail mit Anhang senden

echo "Hier ist die gewünschte Datei im Anhang." | mutt -s "Backup-Datei" -a /pfad/zur/datei.zip -- empfaenger@beispiel.de
  • -a: Pfad zum Anhang.
  • --: Trennt die Dateiliste von der Empfängeradresse.

Methode 4: Versand direkt über sendmail

sendmail ist auf fast jedem Linux-System vorinstalliert, aber die Bedienung ist etwas technischer, da man den Header selbst definieren kann.

sendmail empfaenger@beispiel.de <<EOF
Subject: Terminal Test
From: absender@beispiel.de

Dies ist der Nachrichtentext.
EOF

Zusammenfassung der wichtigsten Befehle

Ziel Befehl
Einfacher Text echo "Inhalt" | mail -s "Betreff" ziel@mail.de
Mit Anhang mutt -s "Betreff" -a datei.jpg -- ziel@mail.de
Über SMTP msmtp ziel@mail.de < nachricht.txt
In Skripten mail -s "Statusbericht" info@firma.de < /tmp/log.txt

Tipps für den Erfolg:

  1. Spam-Ordner prüfen: Da Terminal-Mails oft keinen vollständigen Header haben, landen sie häufig im Spam.
  2. Firewall: Stelle sicher, dass Port 587 (STARTTLS) oder 465 (SSL) für ausgehende Verbindungen offen ist.
  3. App-Passwörter: Wenn du Gmail verwendest, musst du oft ein spezielles "App-Passwort" in deinen Google-Sicherheitseinstellungen erstellen, anstatt dein normales Passwort zu nutzen.
0