Reescreverei sua pergunta:
Como posso usar _header_checks diferentes para smtpd (porta 25) e envio (porta 587)?
Esse problema canônico pode ser dividido com várias condições
- Eu quero desativar header_checks para um dos smtpd ou envio.
- Eu quero executar header_checks diferentes para smtpd e envio.
1. Quero desativar header_checks para um dos smtpd ou envio.
Para o exemplo, suponho que você deseja desativar os header_checks para envio (email de saída) .
Solução 1: método receive_override_options
Você pode usar o parâmetro postfix chamado receive_override_options . Com o parâmetro, você pode substituir a opção global header_check, para que o filtro não seja executado. # main.cf header_checks = pcre: / caminho / para / header_checks
#master.cf
submission inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
Advertências: isso desativará TODAS as _checagens_de_ cabeçalho e as checagens-de-corpo definidas nos checagens de cabeçalho do homem 5 . Para o controle completo de qual parâmetro será desativado, consulte a Solução 2.
Solução 2: método de serviço de limpeza múltipla
Podemos usar a técnica de serviço de limpeza múltipla para o seu problema, como *_header_checks
foi realizada pelo serviço de limpeza . Você pode ver o exemplo dessa configuração no tutorial amavisd-new .
O parâmetro mágico para esta configuração é cleanup_service_name . Com esse parâmetro, podemos usar um serviço de limpeza diferente para cada processo smtpd. Primeiro, definimos um serviço de limpeza adicional (chamado no-headerchecks) no master.cf
no-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=
Nesta limpeza, definimos mime_header_checks vazios para desativar a filtragem. O último passo é dizer ao serviço de envio para usar nossas verificações sem cabeçalho
submission inet n - n - - smtpd
-o cleanup_service_name=no-headerchecks
2. Quero executar diferentes header_checks para smtpd e envio.
Para esse problema, você pode usar vários métodos de serviço de limpeza, conforme descrito acima.
Primeiro, definimos um serviço de limpeza adicional (chamado segundo cabeçalho) no master.cf
second-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=pcre:/path/to/2ndheaderchecks
Nesta limpeza, definimos o segundo mime_header_checks para outra tabela PCRE. A última etapa é dizer ao serviço de envio para usar nossas verificações de segundo cabeçalho
submission inet n - n - - smtpd
-o cleanup_service_name=second-headerchecks
Nota:
Seu caso é semelhante a esta pergunta . Infelizmente, a resposta de Laurentiu Roescu só funciona se você deseja ativar o header_checks para mensagens enviadas que usam smtp como transporte. A boa notícia é que sua primeira frase sobre cleanup
daemon nos dá uma idéia para a segunda solução.
É possível aplicar vários métodos de serviço de limpeza se você desejar diferentes header_checks, body_checks e outros parâmetros definidos em man 5 header_checks
.