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