
Ich habe ein Postfix-Setup, das Relays nur von bestimmten Domänen zulässt. Dies erreiche ich mithilfe des relay_domains
Flags in main.cf und es fragt MySQL ab, um die Liste der zulässigen Domänen zu finden.
relay_domains = mysql:/etc/postfix/mysql_domains.cf
Ich möchte eine header_checks
Anweisung hinzufügen, um basierend auf dem Ergebnis der MySQL-Prüfung einen benutzerdefinierten Header einzufügen, relay_domains
der zeigen würde, welche Domäne über Postfix weitergeleitet wurde. Der Grund dafür ist, dass, wenn die zulässige Domäne .domain.com ist und die E-Mail-Adresse des Empfängers[email geschützt], ich möchte wissen, zu welchem .domain.com-Postfix bei der Suche aufgelöst wurde.
Bei mir funktionieren die Header_Checks:
/^From:/i PREPEND X-Relay-Domain: xxx
Ich bin mir jedoch nicht sicher, wie ich das Ergebnis der Domänenabfrage erfassen und für die header_checks PREPEND verwenden kann. Ich könnte auch eine weitere MySQL-Suche durchführen, header_checks
aber das möchte ich nach Möglichkeit vermeiden.
Antwort1
Möglicherweise können Sie check_recipient_access
Postfix verwenden.
smtpd_recipient_restriction = ...
...
check_recipient_access pcre:/etc/postfix/addheader
...
Die Datei /etc/postfix/addheader
hat folgenden Inhalt
/.+@(.+)/ PREPEND X-Relay-Domain: $1
InZugangTabelle, PREPEND-Aktion fügt Ihrer E-Mail einen Header hinzu. In diesem Fall fügt diese Zuordnung Domänenteile Ihres Empfängers hinzu.