Für Administratoren oder Benutzer, die an Automatisierungsaufgaben arbeiten, ist es unerlässlich zu wissen, wie man E-Mails direkt über das Linux-Terminal sendet. Dies ermöglicht vollständige Kontrolle über E-Mail-Funktionen und macht komplexe Mailprogramme überflüssig. Besonders in Situationen, in denen Geschwindigkeit und Einfachheit entscheidend sind, ist dies äußerst nützlich.
Tools wie sendmail und mailx werden häufig verwendet, um Nachrichten zu senden, SMTP-Einstellungen zu prüfen, Warnmeldungen zu automatisieren oder in Skripte zu integrieren. Sie sind einfach, aber effektiv und eignen sich ideal, um Teams über Serverupdates zu informieren, Berichte zu automatisieren oder E-Mail-Konfigurationen zu testen.
Dieser Leitfaden richtet sich an Benutzer, die ihre E-Mails direkt über das Terminal verwalten möchten. Er behandelt die Installation der wichtigsten Tools sowie fortgeschrittene Aufgaben wie das Versenden von Anhängen und das Konfigurieren von E-Mail-Tools.
Die beiden meistgenutzten Tools — sendmail und mailx — sind zuverlässige Optionen für den Mailversand unter Linux. Sie bieten mehrere Vorteile:
Traditionelle Mailprogramme können langsam sein und viele Ressourcen verbrauchen. Diese Tools ermöglichen schnellen und ressourcenschonenden Mailversand direkt über das Terminal.
Sie lassen sich problemlos in Shell-Skripte, Cron-Jobs und Monitoring-Tools integrieren. Damit können wiederkehrende Benachrichtigungen und Warnmeldungen automatisiert werden.
SMTP-Konfigurationen lassen sich leichter debuggen. Die Befehle bieten Einsicht in die Zustellung, wodurch Logs und Fehler einfacher überprüft werden können.
Ob Warnmeldungen oder automatisierte Berichte — sendmail und mailx bieten vielseitige Einsatzmöglichkeiten.
Stellen Sie vor der Nutzung dieser Linux-Mailtools Folgendes sicher:
Terminalzugriff: Root-Rechte können erforderlich sein, insbesondere bei der Konfiguration.
SMTP-Server: Sie benötigen einen ausgehenden Mailserver zum Testen.
Installierte Tools: Überprüfen Sie, ob sendmail und mailx installiert und funktionsfähig sind.
SMTP-Server sind essenziell für den Versand von E-Mails. Es gibt zwei Arten:
Externe SMTP-Server
Lokale SMTP-Server
Dies sind Mailserver, die von Drittanbietern bereitgestellt werden. Sie versenden E-Mails über das Internet an Empfänger außerhalb Ihres lokalen Netzwerks. Sie sorgen für:
Globale Zustellung
Authentifizierung
Verschlüsselung
Spam-Schutz
Adresse: smtp.gmail.com
Port: 587 (TLS) oder 465 (SSL)
Adresse: smtp.office365.com
Port: 587
Sie benötigen passende Anmeldedaten (Benutzername, Passwort, App-Passwort) und Verschlüsselung (TLS/SSL).
Hinweis: Wir haben bereits eine Anleitung für externe SMTP-Server bereitgestellt. Der Befehl zum Senden über Postfix bleibt derselbe. Konfigurieren Sie einfach den SMTP-Zugang wie beschrieben und ersetzen Sie die Absenderadresse durch Gmail oder einen anderen Anbieter.
Diese Server arbeiten nur innerhalb eines lokalen Netzwerks oder Systems. Ideal für:
E-Mails zwischen internen Benutzern (z. B. tom@office.local → jerry@office.local)
Lokale Tests und Entwicklungsaufgaben
interne Kommunikation
kein Internetzugang notwendig
sudo apt install postfix
sudo nano /etc/postfix/main.cf
Aktualisieren oder bestätigen Sie folgende Einstellungen:
myhostname = mail.office.local
mydomain = office.local
myorigin = $mydomain
inet_interfaces = loopback-only
local_recipient_maps = proxy:unix:passwd.byname
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
Datei speichern und Postfix neu starten:
sudo systemctl restart postfix
sudo adduser linux
sudo adduser hostman
Damit werden E-Mail-Adressen wie linux@office.local erstellt.
sendmail ist ein weit verbreiteter Mail Transfer Agent (MTA) unter Linux. Es arbeitet reibungslos mit SMTP-Servern und ermöglicht das Senden und Weiterleiten lokaler E-Mails oder E-Mails aus Skripten.
sudo apt install sendmail
sudo yum install sendmail
sudo systemctl start sendmail
sudo systemctl enable sendmail
echo "Testing sendmail setup" | sendmail -v your-email@example.com
Überprüfen Sie eingegangene Mails:
mail
Falls mail nicht installiert ist:
sudo apt install mailutils
Oder:
cat /var/mail/user
sudo nano /etc/mail/sendmail.mc
Beispiel zum Setzen eines Domainnamens:
define(`confDOMAIN_NAME', `your_domain.com')dnl
Konfiguration neu generieren:
sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
Bei Berechtigungsfehler:
sudo sh -c "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf"
Dienst neu starten:
sudo systemctl restart sendmail
nano email.txt
Inhalt:
Subject: Test Email from Hostman
This is a test email sent using sendmail on Linux.
sendmail recipient@example.com < email.txt
mail
sendmail unterstützt Anhänge nicht direkt. Sie benötigen uuencode:
sudo apt install sharutils
Senden mit Anhang:
( echo "Subject: Email with attachment"; uuencode file.txt file.txt ) | sendmail recipient@example.com
Prüfen:
mail
mailx ist ein einfaches, aber leistungsfähiges Terminal-Tool für E-Mails und Bestandteil von mailutils.
sudo apt install mailutils
sudo yum install mailx
echo "This is the body of the email" | mailx -s "Test Email from Mailx" recipient@example.com
echo "Please find the attached document" | mailx -s "Email with Attachment" -A email.txt recipient@example.com
Das Senden von E-Mails über die Linux-Befehlszeile ist eine effiziente Methode zur Automatisierung, Serverdiagnose oder Konfigurationstests. Mit Tools wie sendmail und mailx lassen sich sowohl einfache Nachrichten als auch komplexere E-Mail-Setups mit Anhängen verwalten. Dieser Leitfaden bietet klare Schritte, um direkt loszulegen und Ihren Workflow zu optimieren.