📱 Erkannter Endgerättyp ⛱️ Tag und Nacht. Verbraucht keinen oder einen 🍪. 🖼️ Hintergrund ändern. Verbraucht keinen oder einen 🍪.
🧬 0 Ihre DNS in den Krei.se-DNS-Servern, führt zum Bio-Labor 🍪 0 Anzahl Ihrer gespeicherten Kekse, führt zur Keksdose       

System-Mails an lokalen 📯 Postboten schicken

Design-Philosophie System-Mails verteilen

Was ultra nervt ist nicht benachrichtigt zu werden wenn ein Server updates gemacht hat, seine Festplatte voll ist, etc.

Nun könnte man natürlich überall Postfix mit dem lokalen Postboten-Server als relay installieren, aber wir wollen es einfacher. Mails die an lokale Nutzer wie root gehen sollen werden an den lokalen Postboten geschickt und dort weiterverteilt - mehr wollen wir nicht :)

MSMTP rettet unsere Nerven

Dafür nutzen wir MSMTP mit einer systemweiten Einstellung alle System-Mails an mail.domain.tld zu senden. Es ist Aufgabe des lokalen Postboten diese Mails zuzulassen (mynetworks) und neue Server brauchen so nur einen 3-Zeiler.

root@server:~# apt install msmtp msmtp-mta bsd-mailx

AppArmor beantworten wir mit Ja.

bsd-mailx braucht man z.B. für smartmontools was das Programm mail erwartet.

root@server:~# cp /usr/share/doc/msmtp/examples/msmtprc-system.example /etc/msmtprc

Systemweit passen wir /etc/msmtprc an:

account default

host mail.domain.tld

port 25
tls off

# if your server does not like mail from "localhost" add domain here
# still remember most public servers will reject your mail due to SPF or relay-restrictions
# 🦥 easiest way for other servers is to have a server vpn subnet as mynetworks

domain domain.tld

# send mails as user@server.domain.tld - always needed, but can be user@localhost in some setups.
from %U@%C

Das war's schon und wie man sieht kann man diese Config im ganzen Netzwerk einsetzen. Wer hostnamen im LAN korrekt auflöst kann auch nur host mail nutzen.

Mail kommt nun von z.B. root@server.domain.tld und wird an root über den Server mail.domain.tld gesendet. Wichtig: Dort muss ein User root@mail.domain.tld und root als mailacceptinggeneralid haben, denn manche Clients werden den @mail.domain.tld Part nicht anhängen.

📝 Für den Adminuser empfiehlt sich daher @mail.domain.tld als Catch-All für System-Mails und root, postmaster als Catch ohne Domain-Part.

📝 Ich unterscheide in meinen Setups in der Regel zwischen mx.domain.tld und mail.domain.tld denn global wird Mail in der Regel an domain.tld geschickt. Adressaten mit @mail.domain.tld weisen darauf hin, dass ein lokaler Teilnehmer direkt an den Mailserver schreibt. Mails mit Adressat @mx.domain.tld sollten Sie NIE haben, dieser Name dient allein der DNS-Zuordnung.

Mit msmtp-mta decken wir mail, sendmail und mailx ab, so ziemlich jeder Linux-Dienst der Mails als Benachrichtigung verschickt funktioniert damit.