Ich werde Ihre Frage umschreiben:
Wie kann ich verschiedene _header_checks für smtpd (Port 25) und Submission (Port 587) verwenden?
Dieses kanonische Problem kann mit mehreren Bedingungen geteilt werden
- Ich möchte header_checks für smtpd oder Submission deaktivieren.
- Ich möchte verschiedene header_checks für smtpd und Submission ausführen.
1. Ich möchte header_checks für smtpd oder Submission deaktivieren.
Für das Beispiel gehe ich davon aus, dass Sie die header_checks für die Übermittlung (ausgehende E-Mail) deaktivieren möchten .
Lösung 1: Methode "receive_override_options"
Sie können den Postfix-Parameter " receive_override_options" verwenden . Mit dem Parameter können Sie den globalen Schalter header_check überschreiben, damit der Filter nicht ausgeführt wird. # main.cf header_checks = pcre: / path / to / header_checks
#master.cf
submission inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
Vorsichtsmaßnahmen: Dadurch werden ALLE _header_checks und body_checks deaktiviert, die in man 5 header_checks definiert sind . Informationen zur vollständigen Steuerung, welcher Parameter ausgeschaltet werden soll, finden Sie in Lösung 2.
Lösung 2: Mehrfachbereinigungsdienstmethode
Wir können mehrere Bereinigungsservice-Techniken für Ihr Problem verwenden, wie *_header_checks
sie vom Bereinigungsservice durchgeführt wurden. Sie können das Beispiel dieses Setups in einem neuen Tutorial sehen .
Der magische Parameter für diese Konfiguration ist cleanup_service_name . Mit diesem Parameter können wir für jeden smtpd-Prozess einen anderen Bereinigungsdienst verwenden. Zuerst definieren wir in master.cf einen zusätzlichen Bereinigungsdienst (No-Headerchecks genannt)
no-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=
In dieser Bereinigung definieren wir leere mime_header_checks, um die Filterung zu deaktivieren. Der letzte Schritt besteht darin, den Übermittlungsdienst anzuweisen, unsere No-Headerchecks zu verwenden
submission inet n - n - - smtpd
-o cleanup_service_name=no-headerchecks
2. Ich möchte verschiedene header_checks für smtpd und Submission ausführen.
Für dieses Problem können Sie die oben beschriebene Methode für mehrere Bereinigungsdienste verwenden.
Zuerst definieren wir einen zusätzlichen Bereinigungsdienst (als Second-Headerchecks bezeichnet) in master.cf
second-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=pcre:/path/to/2ndheaderchecks
In dieser Bereinigung definieren wir zweite mime_header_checks für andere PCRE-Tabellen. Der letzte Schritt besteht darin, den Übermittlungsdienst anzuweisen, unsere zweiten Headerchecks zu verwenden
submission inet n - n - - smtpd
-o cleanup_service_name=second-headerchecks
Hinweis:
Ihr Fall sieht bei dieser Frage ähnlich aus . Leider funktioniert die Antwort von Laurentiu Roescu nur, wenn Sie header_checks für ausgehende E-Mails aktivieren möchten, die SMTP als Transport verwenden. Die gute Nachricht ist, dass sein erster Satz über cleanup
Daemon uns eine Idee für eine zweite Lösung gibt.
Es können mehrere Bereinigungsdienstmethoden angewendet werden, wenn Sie unterschiedliche header_checks, body_checks und andere in definierte Parameter wünschen man 5 header_checks
.