Mailscanner & Postfix: HOLD tudo, exceto mensagens com um cabeçalho personalizado

3

ATM Estou usando o método normal para colocar todas as mensagens em HOLD para passá-las do postfix para o MailScanner, conforme descrito no link :

In the Postfix configuration file /etc/postfix/main.cf add this line:

header_checks = regexp:/etc/postfix/header_checks 

In the file /etc/postfix/header_checks add this line:

/^Received:/ HOLD 

The effect of this is to tell Postfix to move all messages to the HOLD queue.

Mas eu tenho algumas mensagens SMTP que não tenho necessidade de passá-las através do MailScanner, mensagens identificadas por um cabeçalho personalizado. Eu preciso encontrar uma maneira de contornar o MailScanner para essas mensagens, mas não consigo encontrá-lo, uma vez que preciso verificar a presença de um cabeçalho personalizado e não, ou seja, o endereço De: ou Para: ...

Tentei modificar o / etc / postfix / header_checks:

/^X-Custom-Header:/ FILTER smtp:[ip.addr.next.hop]:10025

no mail.log eu vejo a mensagem filtrada:

Aug 19 17:52:17 servername postfix/cleanup[19423]: AFB842E33A: filter: header X-Custom-Header: from relay.sender.foo[xx.yy.zz.kk]; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<mail.sender.foo>: smtp:[ip.addr.next.hop]:10025

e se a única acima for a única regra em header_checks, ela será entregue no próximo salto via smtp.

Agora eu preciso pegar tudo no Mailscanner (assim na fila HOLD do Postfix), então como eu posso dizer ao header_checks para fazer isso? Se eu deixar o / ^ Received: / check mesmo o AFB842E33A é mantido na fila HOLD ...

Talvez seja apenas uma pergunta idiota, mas ... alguma ideia?

    
por Zixyar 23.08.2011 / 18:15

1 resposta

3

Sim, existe até uma solução. É chamado de header_checks e faz parte do *_restrictions . O formato (dependendo do que você quer) é descrito em sua própria documentação .

Mas não posso recomendar o uso de filtros pós-fila como Mailscanner e Spamassassin. A melhor maneira de reduzir o Spam e informar o remetente são os filtros antes da fila, como postscreen , client_restrictions , sender_restrictions , recipient_restrictions , milters de fila anterior e ferramentas externas como policyd-weight .

Somente os filtros before-queue reduzem a carga e os recursos no servidor e podem bloquear 80% de todo o spam antes mesmo de chegarem ao servidor. O Mailscanner, em particular, está na minha "lista de ódio", já que ele só tem uma integração deficiente no Postfix e não é capaz de usar as interfaces internas do Postfix para filtros anti-spam e filtros em geral.

Editar : Devido à questão editada, eu responderei isso agora.

FILTER não é uma ação que impeça o Postfix de trabalhar no arquivo header_checks . Apenas diz "quando terminar os cheques, filtrarei". Assim, a próxima linha corresponde e define o e-mail em espera.

A solução (mesmo que pareça danificada) é esse header_checks -file:

/^X-Custom-Header:/ FILTER smtp:[ip.addr.next.hop]:10025
/^X-Custom-Header:/ OK
/^Received:/ HOLD    
    
por 23.08.2011 / 20:39