Sendmail & Mailx: E-Mail Versand über das Linux Terminal – So geht’s!

Stell dir vor du bist ein Systemadministrator der mit unglaublicher Geschwindigkeit durch die Befehlszeile flitzt und dabei die Macht von Linux voll auskostet.

Du möchtest deinen Kollegen mit wichtigen Protokolldateien oder wichtigen Systemupdates auf dem Laufenden halten.

Aber warum solltest du dafür deinen Workflow unterbrechen und mühsam durch E-Mail-Programme klicken?

Genau da kommen uns die genialen Tools sendmail und mailx ins Spiel! Mit diesen beiden Helden der Kommandozeile kannst du E-Mails wie ein Profi verfassen und versenden ohne deinen komfortablen Terminal verlassen zu müssen.

Das Beste daran: Du kannst sie sogar für coole Automatisierungsprozesse einsetzen die dein Leben als Administrator so viel einfacher machen.

Du bist ein Systemadmin? Dann solltest du deine Zeit nicht mit langweiligen E-Mails verschwenden! 😠
Lernen wie du E-Mails direkt über deine Kommandozeile sendest 🚀

Sendmail & Mailx: Die Helden der Kommandozeile




Du bist ein Systemadmin? Dann solltest du deine Zeit nicht mit langweiligen E-Mails verschwenden! 😠
Lernen wie du E-Mails direkt über deine Kommandozeile sendest 🚀

Stelle dir sendmail als den superstarken aber etwas strengen Mail-Transfer-Agent vor.

Er ist dafür verantwortlich dass deine E-Mails sicher an ihren Empfänger gelangen.

mailx hingegen ist der flexible und interaktive Mail User Agent mit dem du deine Nachrichten selbst verfassen und an die gewünschten Empfänger verschicken kannst.

Zusammen bilden sie ein unschlagbares Duo das dir die volle Kontrolle über deine E-Mail-Kommunikation gibt.

Installation: Den Grundstein legen

Bevor wir unsere E-Mail-Reise beginnen müssen wir natürlich sicherstellen dass unsere Tools auch an Bord sind.

Hierbei ist es egal ob du einen CentOS- Debian- oder Ubuntu-Server hast die Installation verläuft im Prinzip immer gleich.

Schritt 1: Paketliste aufräumen

Zuerst überprüfen wir ob unsere Paketliste auf dem neuesten Stand ist.

Das ist wichtig um Kompatibilitätsprobleme zu vermeiden.

sudo apt update  # für Debian-basierte Systeme (Ubuntu Debian)
sudo yum update # für CentOS-basierte Systeme 

Schritt 2: Sendmail installieren

Jetzt geht es an die Installation von sendmail dem Superhelden unserer E-Mail-Reise.

Hierfür nutzen wir den Paketmanager unseres Systems:

sudo apt install sendmail  # für Debian-basierte Systeme (Ubuntu Debian)
sudo yum install sendmail # für CentOS-basierte Systeme

Schritt 3: Sendmail zum Starten konfigurieren

Damit sendmail seine Arbeit auch zuverlässig verrichten kann müssen wir ihn noch aktivieren und starten.

Bei Ubuntu und Debian sieht das so aus:

sudo systemctl enable sendmail
sudo systemctl start sendmail

Auf CentOS-basierten Systemen funktioniert die Konfiguration über systemctl etwas anders.

Hier musst du zunächst die Dienste neu laden:

sudo systemctl daemon-reload

Danach kannst du sendmail aktivieren und starten:

sudo systemctl enable sendmail.service
sudo systemctl start sendmail.service

Schritt 4: Mailx installieren

Fehlt nur noch mailx unser Werkzeug zum Verfassen und Versenden von E-Mails.

Auch hier nutzen wir wieder den Paketmanager:

sudo apt install mailutils # für Debian-basierte Systeme (Ubuntu Debian)
sudo yum install mailutils # für CentOS-basierte Systeme

Schritt 5: Die finale Konfiguration

Nun müssen wir noch ein paar kleine Anpassungen vornehmen damit unsere E-Mail-Kommunikation reibungslos funktioniert.

Bei sendmail reicht es in den meisten Fällen die Standardkonfiguration zu verwenden.

Wenn du jedoch einen speziellen Relay-Server nutzen möchtest musst du die Datei /etc/mail/sendmail.mc bearbeiten und anschließend die Konfiguration neu generieren.

Das geht mit folgendem Befehl:

sudo make -C /etc/mail  sendmail

Für mailx müssen wir die Datei .mailrc in unserem Home-Verzeichnis einrichten.

Sie enthält alle Einstellungen unseres E-Mail-Servers.

Ein simples Beispiel könnte so aussehen:

set smtp = smtp.example.com
set smtp-auth-user = [email protected]
set smtp-auth-password = dein.password
set smtp-port = 587 

Ersetze dabei smtp.example.com mit der Adresse deines E-Mail-Servers [email protected] mit deiner E-Mail-Adresse und dein.password mit deinem Passwort.

Schritt 6: Abflug!

Nun sind unsere Tools einsatzbereit.

Wir können direkt loslegen und unsere ersten E-Mails über die Kommandozeile versenden.

Einfache E-Mails senden: Die Basics der Kommandozeile

Jetzt wollen wir unsere neuen Fähigkeiten testen.

Zwei grundlegende Befehle helfen uns dabei: sendmail und mailx.

Mit sendmail blitzschnell E-Mails versenden

sendmail ist zwar der Mail-Transfer-Agent aber wir können ihn auch für den schnellen Versand einfacher E-Mails nutzen.

Das funktioniert mit nur einem Befehl.

Stell dir vor du möchtest eine E-Mail an [email protected] schicken.

Dann tippst du einfach folgenden Befehl ein:

echo "Hallo dies ist eine Test-E-Mail!" |  sendmail [email protected]

Dieser Befehl schickt eine einfache E-Mail mit dem Text “Hallo dies ist eine Test-E-Mail!” an die angegebene Adresse.

Einfach schnell und effektiv!

Mailx: Das flexible Werkzeug für komplexe E-Mails

mailx bietet dir einen vielseitigen Weg um E-Mails zu erstellen und zu versenden.

Hier kannst du Betreff Nachricht und sogar Anhänge ganz einfach einfügen.

Ein Beispiel:

mailx -s "Betreff der E-Mail" [email protected]  << EOF
Hallo dies ist eine E-Mail mit einem tollen Betreff!

Ich bin begeistert von der Macht der Kommandozeile.
EOF

Dieser Befehl sendet eine E-Mail an [email protected] mit dem Betreff “Betreff der E-Mail” und dem Text “Hallo dies ist eine E-Mail mit einem tollen Betreff! Ich bin begeistert von der Macht der Kommandozeile.”.

Anhänge einfügen: Dateien direkt in E-Mails packen

Natürlich möchtest du manchmal auch Dateien direkt in deine E-Mails einfügen.

Auch das ist kein Problem.

Mit mailx kannst du Dateien ganz einfach anhängen.

Hier ist ein Beispiel wie du die Datei “report.pdf” an eine E-Mail anhängst:

mailx -s "Bericht für die Woche"  [email protected]  -a report.pdf  << EOF
Hallo

findest du den Bericht im Anhang?

Grüße
EOF

Dieser Befehl sendet eine E-Mail mit dem Betreff “Bericht für die Woche” und der Datei “report.pdf” im Anhang.

Automatisierung: E-Mails mit Bash-Skripten verschicken

Wenn du regelmäßig E-Mails mit immer gleichem Inhalt versenden musst kannst du dir die Arbeit mit Bash-Skripten erleichtern.

So kannst du beispielsweise automatische Benachrichtigungen erstellen Berichte versenden oder Protokolldateien an bestimmte Empfänger weiterleiten.

Ein einfaches Beispiel für ein Bash-Skript das eine E-Mail mit mailx versendet:

#!/bin/bash

mailx -s "Täglicher Bericht" [email protected]  << EOF
Hallo

hier ist der tägliche Bericht.

Grüße
EOF

Dieses Skript sendet täglich eine E-Mail mit dem Betreff “Täglicher Bericht” an [email protected]. Du kannst dieses Skript mit Cron-Jobs automatisieren sodass es regelmäßig ausgeführt wird.

Sendmail automatisieren: Auch hier geht es!

Auch mit sendmail kannst du E-Mails automatisieren.

Dafür musst du allerdings ein wenig tiefer in die Welt der MIME-Kodierung eintauchen.

Ein Beispiel für ein Bash-Skript das eine E-Mail mit sendmail versendet:

#!/bin/bash

echo "From: [email protected]" > /tmp/mail.txt
echo "To: Empfä[email protected]" >> /tmp/mail.txt
echo "Subject: Betreff der E-Mail" >> /tmp/mail.txt
echo "" >> /tmp/mail.txt
echo "Hallo dies ist eine E-Mail mit sendmail." >> /tmp/mail.txt

sendmail -t < /tmp/mail.txt
rm /tmp/mail.txt

Dieses Skript erstellt eine temporäre Datei mit dem Inhalt der E-Mail und übergibt diese dann an sendmail.

Sicherheit geht vor: Deine E-Mails schützen

Natürlich solltest du auch bei E-Mails über die Kommandozeile auf Sicherheit achten.

Hier sind ein paar wichtige Punkte die du beachten solltest:

1. Sichere Verbindung: Verwende immer eine verschlüsselte Verbindung (SSL/TLS) zum Versenden von E-Mails. Das bedeutet dass du die Option -s smtp.example.com:465 oder -s smtp.example.com:587 in deinen mailx-Befehlen verwenden musst.

2. Passwort schützen: Speichere dein Passwort niemals direkt in Skripten oder in der Datei .mailrc. Verwende stattdessen ein Passwort-Management-Tool oder sichere deine Passwörter in einer separaten Datei die nur du lesen kannst.

3. Sensible Daten verschlüsseln: Verschlüssele sensible Daten wie z.B. Passwörter bevor du sie per E-Mail verschickst.

Fazit: Macht euch bereit für die E-Mail-Revolution!

Mit den Tools sendmail und mailx habt ihr die Welt der Kommandozeile in eurer Hand.

Ihr könnt E-Mails versenden Anhänge hinzufügen und eure Aufgaben automatisieren – alles ohne ein E-Mail-Programm zu öffnen.

Vergesst nicht die Sicherheit und genießt die Flexibilität und Geschwindigkeit die euch die Kommandozeile bietet.

Viel Spaß beim Versenden!




Du bist ein Systemadmin? Dann solltest du deine Zeit nicht mit langweiligen E-Mails verschwenden! 😠
Lernen wie du E-Mails direkt über deine Kommandozeile sendest 🚀

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top