maildrop refilter já existente caixa de entrada

1

Estou usando maildrop e spamassassin do .qmail (em um host uberspace.de) e modifiquei minhas configurações de filtro. Agora eu quero "refilter" minha caixa de entrada, porque contém cerca de 5k spam mails, que seriam corretamente tratados agora. Existe alguma maneira de executar maildrop manualmente, usando a minha caixa de entrada existente (ou uma cópia do mesmo) como a entrada, então filtra tudo de novo?

    
por nonchip 11.07.2014 / 04:58

1 resposta

2

Eu não uso o Maildrop, mas é um agente de entrega. A menos que maildrop seja responsável em seu set-up para passar e-mails através de spamassassin, então provavelmente não é maildrop que você deveria ligar, pelo menos não diretamente.

Você pode querer dar uma olhada no procmail, que é uma ferramenta muito flexível para receber e-mails no STDIN e executar várias regras nele. Por exemplo, você deseja primeiro passar o e-mail através do spamassassin para obter novos cabeçalhos de spam e depois entregá-los. O Procmail é frequentemente usado como um agente delviery, mas tenho certeza que você pode fazer com que ele passe o e-mail para maildrop para entrega, se for importante. por exemplo, maildrop pode estar fazendo algumas coisas de indexação para tornar seu sistema IMAP mais eficiente.

OK, então, se maildrop fizer a filtragem, você poderá enviar suas mensagens para maildrop.

Exatamente como você faz isso depende um pouco do formato de caixa de correio em que você tem o email. O Maildrop pode enviar para o mbox (um arquivo por diretório de email) ou maildir (um arquivo por email), mas maildir é mais provável formato. Deixe-me saber se você está usando mbox, mas no momento eu vou assumir maildir.

dentro de um determinado diretório maildir, existem subdiretórios para new , cur e tmp . Provavelmente suas mensagens são todas em cur , mas se você não tiver acessado a caixa de correio desde que o e-mail foi entregue, pode estar em new . Eu evitaria tentar processar material em tmp , que deveria estar vazio.

Você quer fazer algo assim, no bash:

sudo -i
cd [your Maildir]
find cur new -type f | while read FILENAME ; do
  su vmail /usr/bin/maildrop -d [recipient] < "$FILENAME"
done

Isto é baseado em olhar para um sistema debian, embora como eu digo, eu não uso maildrop, e isso não foi testado. Se estiver usando o postfix, procure a entrada maildrop em /etc/postfix/master.cf e você deve obter o usuário e o caminho corretos e assim por diante para a distribuição do SO.

docs para maildrop aqui: link

Esteja ciente, porém, que o spamassassin terá muito menos trabalho aqui do que para a entrega original. por exemplo, ele não pode procurar o IP de envio em listas negras, examinar o (des) uso do protocolo SMTP, etc.

    
por 20.07.2014 / 15:15

Tags