Indique ao Postfix para não entregar o correio quando o SpamAssassin não estiver em execução

1

Eu tenho o Postfix configurado para filtrar e-mails usando o daemon de spam do SpamAssassin. Percebi recentemente que algumas mensagens de spam seriam entregues na minha caixa de entrada sem que nenhum cabeçalho do SpamAssassin fosse adicionado. Eu rastreei isso até o fato de que eu tinha um trabalho cron diário para atualizar o SpamAssassin com sa-update e reiniciar o spamd. Quando o Postfix recebe um e-mail enquanto o spam está reiniciando, ele o entrega sem filtragem.

Minha solução foi alterar o cron job para parar o Postfix antes de reiniciar o spamd e reiniciá-lo depois. Essa é a melhor solução? Posso de alguma forma dizer ao Postfix para pausar toda a entrega? Posso mudar a chamada para spam de modo que ela bloqueie até que o spam retorne?

Aqui está a linha SpamAssassin do meu /etc/postfix/master.cf :

spamassassin unix  -       n       n       -       -       pipe user=nobody argv=/usr/bin/spamc -u ${user} -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Encontrei referências ao uso de postsuper -h ALL para colocar a entrega em espera, mas isso parece manter as mensagens atualmente em uma fila do Postfix. Novas mensagens que chegam após eu emitir postsuper -h ALL ainda são entregues normalmente.

    
por Ben Williams 24.08.2011 / 19:24

1 resposta

4

Este não é um erro do Postfix, mas um mau comportamento de spam. A partir da documentação do spamc (consulte Códigos de saída), não há código de saída produzido quando é um erro. E o spamd ausente é um erro (aos meus olhos).

E por causa da documentação do pipe , o Postfix tratará o código de saída 0 como uma entrega bem-sucedida.

Portanto, você deve (conforme mencionado no spamc doc) definir um sinal -x na chamada do pipe. Em seguida, o Postfix enfileira o e-mail para entrega posterior (e uma verificação posterior, se o spamd estiver pronto novamente).

Não há necessidade de pausar ou interromper o Postfix. Apenas um problema de configuração.

    
por 24.08.2011 / 19:44