Стандартное решение заключается в использовании опции header_checks . Это будет работать, однако, если мы фильтровать полученные линии по всей почте и входящей и исходящей (как это будет делать), мы могли бы потенциально потерять Received заголовков по почте послали к нам, что может быть важно для устранения неполадок. Чтобы обойти эту проблему, мы будем применять header_checks
только к почте , которые не могли бы быть направлены к нам почте , который был отправлен в представлении порт (вы которые с помощью порта отправки , не так ли? ).
В этом посте объясняется, как подать заявку header_checks
исключительно на порт отправки . Что нам нужно сделать , это пройти cleanup_service_name вариант в представлении службы , так что мы можем создать новую услугу очистки «subcleanup.» Соответствующий раздел /etc/postfix/master.cf
может выглядеть так:
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
Теперь мы можем передать header_checks
опцию новому сервису очистки. Эта часть /etc/postfix/master.cf
может выглядеть так:
cleanup unix n - - - 0 cleanup
subcleanup unix n - - - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_checks
Наконец, нам нужно создать файл /etc/postfix/submission_header_checks
, который будет содержать регулярное выражение, отфильтровывающее нарушающие строки заголовка Received. Какое регулярное выражение вы поместите в файл, зависит от того, smtpd_sasl_authenticated_header
установлен ли он .
Если smtpd_sasl_authenticated_header
есть yes
, то используйте:
/^Received:.*\(Authenticated sender:/ IGNORE
В противном случае используйте:
/^Received:.*\(Postfix/ IGNORE
(Спасибо Dominic P и Bryan Drewery за то, что показали, как обращаться со вторым делом.)
postmap submission_header_checks
?