Você pode querer dar uma olhada em dspam . Ele se integra ao Dovecot e basicamente faz exatamente o que você quer, mas em tempo real, conforme as operações de movimento acontecem (movendo-se para Junk = > spam, saindo de Junk = > falso positivo).
Estou procurando uma maneira de meus usuários de e-mail gerenciarem completamente seu próprio treinamento de spam. Antes de entrar, os detalhes do meu servidor de e-mail são:
Debian 7.5, postfix 2.9.6, dovecot 2.1.7, amavisd-new 2.7.1, spamassassin 3.3.2
Assim, cada um dos meus usuários em cada domínio tem uma pasta Junk ( /var/vmail/domain/user/.Junk
) onde eles podem colocar spam que não é sinalizado como tal. Então eu tenho este script no lugar:
#!/bin/sh
find /var/vmail -name .Junk -exec echo Examining {}... \; -exec sa-learn --dbpath=/var/lib/amavis/.spamassassin --spam {}/cur \;
Eu também tenho uma pasta para a qual cada usuário chamou False Positives, onde eles podem arrastar mensagens para serem marcados erroneamente como spam, e eu tenho um script diário para isso também, que aprende como ham e o move de volta para sua caixa de entrada. .
#!/bin/sh
doveadm search -A mailbox 'False Positives' 2>/dev/null | while read user guid uid; do
doveadm fetch -u $user text mailbox-guid $guid uid $uid > /tmp/$guid-$uid.eml
doveadm move -u $user INBOX mailbox-guid $guid uid $uid
done
sa-learn --dbpath=/var/lib/amavis/.spamassassin --ham /tmp/*-*.eml
if ls /tmp/*-*.eml >/dev/null 2>&1; then
rm /tmp/*-*.eml
fi
Minha pergunta é: estou fazendo isso corretamente? Existe uma maneira melhor? O sa-learn
funciona corretamente com o amavis? Eu acho que desde que eu esteja usando a opção --dbpath=/var/lib/amavis/.spamassassin
, ela deve funcionar bem.
Você pode querer dar uma olhada em dspam . Ele se integra ao Dovecot e basicamente faz exatamente o que você quer, mas em tempo real, conforme as operações de movimento acontecem (movendo-se para Junk = > spam, saindo de Junk = > falso positivo).
Sua abordagem parece bem; Eu faço algo similar.
Duas observações:
--dbpath
é bom, o que impede um erro de configuração comum em que o SA usa um banco de dados em ~amavis
e sa-learn
grava em um banco de dados diferente em ~root
. O Dspam faz filtragem Bayesiana melhor que spam. Muitos outros mecanismos de filtragem, como RBL, greylisting e verificações de validade de DNS, podem ser configurados a partir do MTA (por exemplo, postfix). Nessa abordagem, você só olha para o conteúdo de e-mail depois que os outros testes foram passados, o que torna o sistema muito menos sedento de recursos. Você não obtém a mesma combinação ponderada, mas se for bem configurado, você pode obter um sistema de spam muito bom, que usa muito menos CPU e RAM. Além disso, o plugin dovecot é acionado pela movimentação de mensagens entre pastas, o que é muito melhor do que ter pastas separadas para treinamento.
Tags debian spamassassin amavis