Postfix als Mailrelay auf dem Raspberry Pi

Ein “richtiger” Mailserver kann auf dem Raspberry Pi nicht schaden. Z.B. um Mails an root zu erhalten oder um laufenden Diensten und Scripts zu ermöglichen, Mails zu versenden. Ein Mailrelay Server reicht zumindest in meinem Fall absolut aus. Heißt, dass Mails vom Server aufgenommen und an einen “echten” Mailserver weitergeleitet werden. Hier wird die gleiche Technologie verwendet wie beim Versand von Mails von einem Mailclient.

Dieser Beitrag bezieht sich auf Raspbian, kann aber z.B. auch fast ohne Änderung für Debian und somit nicht nur auf dem Raspberry Pi angewendet werden. IPv6 betrachte ich auch hier erst einmal nicht, obwohl fast alle meine Devices und Dienste auch auf IPv6 laufen, auch unsere Hot-Chilli Server. Alle Howtos zu openHAB beziehen sich auf IPv4, von daher schaue ich erst einmal, dass alles auf IPv4 läuft.

sudo apt-get install postfix mailutils

No configuration auswählen.

Standardkonfigurationsdatei kopieren, damit diese angepasst werden kann:

cp /usr/share/postfix/main.cf.debian /etc/postfix/main.cf

Nun in die /etc/postfix/main.cf unter die vorhandenen Einträge folgendes eintragen:

inet_protocols = ipv4
relayhost = mail.domain.tld:submission
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_tls_enforce_peername = no
smtp_sasl_security_options = noanonymous
myhostname = raspberrypi.$mydomain
mydomain = domain.tld
append_dot_mydomain = yes

myhostname eventuell anpassen und für mydomain am besten etwas sinnvolles einfallen lassen – eventuell steht ja eine eigene Domain zur Verfügung.

Da der Raspberry Pi momentan nur auf IPv4 läuft, muss die erste Zeile rein. Sonst gibt es Fehlermeldung ohne Ende. Die weiteren Zeilen weisen Postfix an, sich auf Port 587 (Submission) TLS-verschlüsselt auf den dort angegebenen Mailserver zu verbinden. Dieser muss natürlich auf die eigenen Bedürfnisse angepasst werden. Der passende Benutzername und das Passwort kommen aus /etc/postfix/sasl_passwd:

mail.domain.tld user@domain.tld:mailpasswort

Nun muss diese Datei noch für Postfix lesbar gemacht werden:

cd /etc/postfix
sudo postmap sasl_passwd

Dem System teilen wir nun mit, wo die Systembenutzer root und pi per Mail zu erreichen sind. So bekommen wir die Mails mit Postfix auf externe Mailaccounts zugestellt. Dazu tragen wir in /etc/aliases folgendes ein:

pi: root
root: user@domain.tld

Auch diese Datei muss für Postfix lesbar gemacht werden:

cd /etc
sudo postalias aliases

Nun noch Postfix neu starten:

sudo /etc/init.d/postfix restart