Debian Systemmails per SMTP versenden

Ziel dieses Tutorial ist es, Systemmails eines Debian Servers über einen authentifizierten SMTP Host zu verschicken. Standardmäßig werden Mails von root@hostname oder www-data@hostname versendet und landen in der Gegenstelle im Spam bzw. gehen erst gar nicht raus. In unserem Beispiel wollen wir, dass root und www-data über die Adresse server@example.com ihre Mails versenden.

Achtung: Bitte beachtet, dass die Konfiguration einen bereits vorhandenen und eingerichteten Mailserver entsprechend unbrauchbar machen kann. Wir gehen davon aus, dass das System welches wir verwenden kein Mailserver ist.

Wir installieren zunächst Postfix:

sudo apt update
sudo apt install postfix libsasl2-modules

Bei der Konfiguration wählen wir „Internet Site“ und geben den Mailnamen (Domainnamen) des Servers ein (z. B. example.com). Damit root von einer bestimmten Adresse senden kann, nutzen wir Canonical Maps von Postfix. Wenn auch andere User wie z.B. www-data Mails versenden sollen, müssen diese ebenfalls angelegt werden:

sudo nano /etc/postfix/canonical

und fügen folgenden Inhalt ein:

root server@example.com
www-data server@example.com

Um die Canonical Map zu aktivieren muss folgendes Kommando ausgeführt werden:

sudo postmap /etc/postfix/canonical

Obiges Kommando müsst ihr immer dann ausführen, wenn ihr weitere Einträge oder Änderungen an der canonical Datei vornehmt.
Im Anschluss muss die Datei noch in der main.cf von Postfix angegeben werden. Editiert dazu /etc/postfix/main.cf und fügt folgende Zeile hinzu:

canonical_maps = hash:/etc/postfix/canonical

Damit sind die Senderadresse den Systems festgelegt. Nun kümmern wir uns um die Authentifizierung am Mailserver. Fügt ebenfalls in die /etc/postfix/main.cf folgende Zeilen hinzu und passt diese entsprechend an:

relayhost = [smtp.example.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

Erstellt dann die /etc/postfix/sasl_passwd Datei um Postfix die Zugangsdaten zur Verfügung stellen zu können:

sudo nano /etc/postfix/sasl_passwd

Inhalt der Datei:

[smtp.example.com]:587 server@example.com:deinPasswort

Führt folgenden Befehl aus, damit Postfix die Datei berücksichtigt:

sudo postmap /etc/postfix/sasl_passwd

Der vorletzte Schritt liegt darin, der nun erstellen Datenbank entsprechende Rechte zu geben:

sudo chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Startet im Anschluss Postfix mit folgendem Befehl neu:

sudo systemctl restart postfix

Um den Mailversand zu testen, kannst du folgenden Befehl verwenden:

echo "Testnachricht" | mail -s "Testnachricht" dein-mail-empfaenger@email.de

Beachte hierbei, dass die Mail immer vom Konto mit dem du eingeloggt bist versendet wird. Bist du root oder www-data sollte die Mail nun ankommen.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen