A solução padrão é usar a opção header_checks . Esta vontade trabalho, cabeçalhos no entanto, se filtrar recebeu linhas em todo o correio de entrada e de saída (como isso vai fazer), que poderia perder recebeu, em e-mail enviado para nós, o que pode ser importante para a solução de problemas. Para contornar esse problema, aplicaremos o header_checks
único ao correio que não poderia ter sido enviado para nós - o correio enviado à porta de envio (você está usando a porta de envio , não é? ).
Esta postagem explica como se inscrever header_checks
exclusivamente na porta de envio. O que precisamos fazer é passar a opção cleanup_service_name para o serviço de envio para que possamos configurar um novo serviço de limpeza, "subcleanup". A seção relevante /etc/postfix/master.cf
pode ser assim:
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
Agora podemos passar a header_checks
opção para o novo serviço de limpeza. Essa parte /etc/postfix/master.cf
pode ser assim:
cleanup unix n - - - 0 cleanup
subcleanup unix n - - - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_checks
Por fim, precisamos criar o arquivo /etc/postfix/submission_header_checks
, que conterá o regex que filtra as linhas de cabeçalho Recebidas ofensivas. Qual regex você coloca no arquivo depende se você smtpd_sasl_authenticated_header
definiu.
Se smtpd_sasl_authenticated_header
estiver yes
, use:
/^Received:.*\(Authenticated sender:/ IGNORE
Caso contrário, use:
/^Received:.*\(Postfix/ IGNORE
(Obrigado a Dominic P e Bryan Drewery por mostrar como lidar com o segundo caso.)
postmap submission_header_checks
?