Standardowym rozwiązaniem jest użycie opcji header_checks . Działa to jednak, jeśli odfiltrujemy otrzymane linie na całej poczcie zarówno przychodzącej, jak i wychodzącej (ponieważ tak się stanie), możemy potencjalnie stracić odebrane nagłówki na przesyłanej do nas wiadomości, co może być ważne przy rozwiązywaniu problemów. Aby obejść ten problem, będziemy stosować header_checks
tylko do poczty, które mogą ewentualnie nie zostały wysłane do nas-mail, który został wysłany do składania portu (Ci są za pomocą portu składania , prawda? ).
W tym poście wyjaśniono, jak złożyć wniosek header_checks
wyłącznie do portu przesyłania. Musimy przekazać opcję cleanup_service_name do usługi przesyłania , abyśmy mogli skonfigurować nową usługę czyszczenia „subcleanup”. Odpowiednia sekcja /etc/postfix/master.cf
może wyglądać następująco:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-o cleanup_service_name=subcleanup
Teraz możemy przekazać tę header_checks
opcję nowej usłudze czyszczenia. Ta część /etc/postfix/master.cf
może wyglądać następująco:
cleanup unix n - - - 0 cleanup
subcleanup unix n - - - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_checks
Na koniec musimy utworzyć plik /etc/postfix/submission_header_checks
, który będzie zawierał wyrażenie regularne, które odfiltrowuje obrażające odebrane linie nagłówka. To, jakie wyrażenie regularne umieścisz w pliku, zależy od tego, czy masz smtpd_sasl_authenticated_header
ustawione.
Jeśli smtpd_sasl_authenticated_header
tak yes
, użyj:
/^Received:.*\(Authenticated sender:/ IGNORE
W przeciwnym razie użyj:
/^Received:.*\(Postfix/ IGNORE
(Podziękowania dla Dominica P i Bryana Drewery'ego za pokazanie, jak załatwić drugą sprawę.)
postmap submission_header_checks
?