Eigener E-Mail Server mit Postfix und (Strato-)Relay

Wer einen eigenen E-Mail Server auf dem Raspberry Pi betreiben möchte, sollte sich die sehr gute Anleitung von Sam Hobbs - Raspberry Pi Email Server anschauen. Zusätzlich empfiehlt es sich einen Relay-Server zum Versenden von E-Mails verwenden, um sicher zu stellen, dass der Server des Empfängers diese auch akzeptiert und entgegen nimmt. Ansonsten kann die eigene Domain auf Filter- und Spamlisten landen, da die E-Mails nicht von einem "vertrauenswürdigen" Server gesendet werden.

Vertrauenswürdige Relay-Server erfordern eine Authentifizierung der Benutzer. Ich nutze dafür Strato und das bei jeder Domain vorhandenen webmaster@<DOMAIN>-Postfach. Dies ist auch vorhanden wenn keine E-Mail Option gebucht ist.

Zugangsdaten

Zunächst müssen die Zugangsdaten für Postfix hinterlegt werden.

sudo nano /etc/postfix/sasl_passwd

Das zum Postfach "webmaster@<DOMAIN>" gehörige Passwort muss in der Weboberfläche von Strato zuerst vergeben werden.

[mail.isp.example] username:password
# Strato
#smtp.strato.de:465 webmaster@<DOMAIN>:<PASSWORD>

Danach wird die dazugehörige Datenbank mit postmap angelegt:

sudo postmap /etc/postfix/sasl_passwd

Zugangsdaten absichern

Abschließend werden die Benutzerdaten noch abgesichert:

sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 0600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Postfix konfigurieren

Damit Postfix nun den Relay auch nutzt, muss die Konfigurationsdatei "main.cf" angepasst werden:

sudo nano /etc/postfix/main.cf

Dort wird der Parameter "relayhost" entsprechend gesetzt:

# specify SMTP relay host
relayhost = [mail.isp.example]:587
# Strato
#relayhost = smtp.strato.de:465

Am Ende der Datei werden noch die nachfolgenden Zeilen hinzugeführt

# enable SASL authentication
smtp_sasl_auth_enable = yes
# disallow methods that allow anonymous authentication.
smtp_sasl_security_options = noanonymous
# where to find sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Enable STARTTLS encryption
smtp_use_tls = yes

Die Änderungen werden mit einem Neustart von Postfix übernommen

sudo systemctl restart postfix.service

Quellen

Linode

ubuntu Forum

Strato Hilfe