E-Mails über das Linux-Terminal versenden: Ein Leitfaden
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:
- Spam-Ordner prüfen: Da Terminal-Mails oft keinen vollständigen Header haben, landen sie häufig im Spam.
- Firewall: Stelle sicher, dass Port 587 (STARTTLS) oder 465 (SSL) für ausgehende Verbindungen offen ist.
- 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.