Vou reescrever sua pergunta:
Como posso usar diferentes _header_checks para smtpd (porta 25) e envio (porta 587)?
Este problema canônico pode ser dividido com várias condições
- Desejo desativar header_checks de um dos smtpd ou envio.
- Eu quero executar header_checks diferentes para o smtpd e o envio.
1. Eu quero desligar header_checks para um dos smtpd ou submissão.
Para o exemplo, suponho que você queira desativar o 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á TODOS os _header_checks e body_checks definidos em man 5 header_checks . Para o controle completo qual parâmetro será desativado, consulte a Solução 2.
Solução 2: método de serviço de limpeza múltipla
Podemos usar técnica de serviço de limpeza múltipla para o seu problema, pois *_header_checks
foi executado por serviço de limpeza . Você pode ver o exemplo dessa configuração no tutorial do amavisd-new .
O parâmetro magic para essa configuração é cleanup_service_name . Com esse parâmetro, podemos usar diferentes serviços de limpeza para cada processo smtpd. Primeiro, definimos um serviço de limpeza adicional (chamado de 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. A última etapa é dizer ao serviço de submissão para usar nossas não-checagens de cabeçalho
submission inet n - n - - smtpd
-o cleanup_service_name=no-headerchecks
2. Eu quero rodar header_checks diferentes para smtpd e submissão.
Para esse problema, você pode usar o método de vários serviços de limpeza, conforme descrito acima.
Primeiro, definimos um serviço de limpeza adicional (chamado second-headerchecks) no master.cf
second-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=pcre:/path/to/2ndheaderchecks
Nesta limpeza, definimos second mime_header_checks para outra tabela PCRE. O último passo é dizer ao serviço de submissão para usar nossas segundas cheques de cabeçalho
submission inet n - n - - smtpd
-o cleanup_service_name=second-headerchecks
Nota:
-
Seu caso é parecido com esta pergunta . Infelizmente a resposta de Laurentiu Roescu só funciona se você quiser ativar header_checks para enviar e-mails que usam smtp como transporte. A boa notícia é que sua primeira frase sobre o
cleanup
daemon nos dá uma ideia para a segunda solução. -
O método de vários serviços de limpeza pode ser aplicado se você quiser diferentes header_checks, body_checks e outros parâmetros definidos em
man 5 header_checks
.