Postfix Bounce Messages in Deutscher Sprache unter Debian 10
In einer Standardinstallation des Mailserver Postfix sind die Bounce Nachrichten, die ein Empfänger erhält, wenn eine E-Mail vom empfangenen Mailserver abgewiesen wird nicht in Deutsch. Hat der Betreiber des Mailserver auch User, die mit den englischen Antworten nichts anfangen können, kann es zu höherem Support Aufwand kommen. Es besteht die Möglichkeit Postfix anzuweisen ein eigenes Bounce-Template zu verwenden. In dieser Anleitung zeige ich Euch wie das Funktioniert
Seit der Postfix Version 2.3 ist es möglich, benutzerdefinierte Bounce Messages (eine Bounce Message ist eine Fehlermeldung, die von einem Mailserver automatisch erzeugt wird, wenn eine E-Mail nicht zustellbar ist.) zu erstellen.
1. Setzen der maximal_queue_lifetime und delay_warning_time
Wir prüfen wie Lage aktuell der Mailserver versucht eine E-Mail zuzustellen an einen anderen Mailserver, es könnte ja sein das der Mailserver ein technisches Problem hat aber in eine paar Stunden wieder verfügbar ist. Daher gibt es zwei Werte normalerweise in einer Postfix Konfiguration
maximal_queue_lifetime: Diese Variable definiert die maximale Zeit, die das postfix-System versuchen darf, eine Nachricht zuzustellen delay_warning_time: Diese Variable legt fest, wie viel Zeit vergehen muss, bevor eine Warnung versendet wird….
Das Kommando postconf -n zeigt die in der Datei main.cf gesetzten Werte an. Das Kommando postconf -d zeigt die default Einstellungen an.
Um Deine aktuelle Einstellung der maximal_queue_lifetime zu überprüfen, führe folgende Kommandos aus:
postconf -d | grep maximal_queue_lifetime postconf -n | grep maximal_queue_lifetime
Sollte es nach diesen Kommandos keine Ausgabe geben, kann es auch sein, dass die Werte nicht gesetzt sind.
So sollte es aussehen:
server2:~# postconf -d | grep maximal_queue_lifetime maximal_queue_lifetime = 5d server2:~# postconf -n | grep maximal_queue_lifetime server2:~#
Möchtest Du die Werte ändern, kannst Du dies mit postconf -e durchführen. Die Änderung wird in der Datei /etc/postfix/main.cf hinterlegt.
postconf -e ‚maximal_queue_lifetime = 1d‘ postconf -e ‚delay_warning_time = 0h‘
Starte Postfix nun neu
service postfix restart
Diese zwei Werte sind wichtig für die benutzerdefinierten Bounce Mails.
2. Erstellung einer Benutzerdefinierte Bounce Message
Auf github unter https://github.com/pld-linux/postfix/blob/master/postfix-bounce.cf.de findest Du eine Deutsche Vorlage, die Vorlage wurde unter anderem von Ralf Hildebrandt erstellt. Dieser hat das Postfix Buch geschrieben.
Die Datei bounce.de-DE.cf beinhaltet vier Vorlagen für die genannten Situationen in denen Zustell-Status-Nachrichten generiert werden. Jede der Vorlagen besteht aus einer deutsch-sprachigen und einer englisch-sprachigen Passage. Jede Passage erklärt den Grund für die Zustell-Status-Nachricht und liefert dem Empfänger Informationen wo und wie er/sie sich weiterführende Informationen oder Hilfe holen kann.
Es ist natürlich möglich, für jede unterschiedliche Fehlermeldung einen benutzerdefinierten Text zu hinterlegen.
Wir erstellen nun im Verzeichnis /etc/postfix/ die Datei bounce.cf und fügen den Inhalt des postfix-bounce.cf.de in die Datei
nano /etc/postfix/bounce.cf
Danach speichern wir dei Datei
Du kannst natürlich das Template anpassen wie Du möchtest und alle main.cf Variablen einsetzten, die du definiert hast (z.B. $myhostname). Wenn du nach der Variable delay_template schaust, findest Du weitere $delay_warning_time_hours and $maximal_queue_lifetime_days. Hier http://www.postfix.org/postconf.5.html#delay_warning_time findest Du eine Beschreibung zu den einzelnen Variablen, allerdings in Englisch.
3. Postfix die Benutzerdefinierte Bounce Message in der mail.cf Einstellen
So nun konfigurieren wir Postfix, damit es unsere benutzerdefinierten Nachrichten benutzt
nano /etc/postfix/main.cf
wir öffnen die Config Datei des Mailservers und fügen folgende Zeile hinzu
bounce_template_file = /etc/postfix/bounce.cf
4. Bounce Template Prüfen auf Fehler
Nun überprüfen wir, wie unsere bounce.cf ausschaut, wenn alle variablen durch die Systemwerte ersetzt sind. Wir können nun auch die Datei auf Fehler überprüfen z.B. vergessene Zeilen am Ende der Datei.
postconf -b /etc/postfix/bounce.cf
Solltest Du keine Fehler haben, kannst Du Postfix neu starten und die benutzerdefinierten Bounce Nachrichten nutzen.
service postfix restart
Um das Ganze zu testen, könnt Ihr z.B. eine E-Mail an einen Provider schicken, bei dem ihr wisst das es die E-Mail-Adresse mit Sicherheit nicht gibt.
5. Links
- Bounce Erklärung wiki page: http://de.wikipedia.org/wiki/Bounce_Message
- Postfix Bounce Template https://github.com/pld-linux/postfix/blob/master/postfix-bounce.cf.de l (DE)
- Postfix bounce man page: http://www.postfix.org/bounce.5.html (EN)
- Postfix configuration parameters: http://www.postfix.org/postconf.5.html (EN)