Frequentemente, o envio de spam não é muito útil, e os usuários geralmente fazem "encaminhamentos in-line" em vez de redirecionamentos / encaminhamentos como anexos. É quase impossível obter qualquer informação utilizável de inline forwards (sem cabeçalhos, o que significa que nenhum remetente envelope, etc). Felizmente, o dovecot tem um recurso muito mais legal: você pode pesquisar por uma pasta em todas as contas de usuário de uma só vez, então, em vez de encaminhar, eles podem simplesmente mover o falso negativo para sua própria pasta Spamreport.
Você pode fazer coisas engraçadas com o doveadm , por exemplo:
doveadm search -A mailbox Spamreport 2>/dev/null | while read user guid uid; do doveadm fetch -u $user text mailbox-guid $guid uid $uid | your_blacklist_script_here.sh ; doveadm expunge -u $user mailbox-guid $guid uid $uid ; done
isso poderia obter todas as mensagens que estão em uma pasta chamada Spamreport
em qualquer conta de usuário, passá-las para your_blacklist_script_here.sh
e eliminá-las posteriormente.
Note que sua ideia de colocar endereços de remetentes na lista negra pode funcionar em alguns casos, mas geralmente eles mudam muito rápido, então provavelmente não será muito eficaz.
Considere treinar o banco de dados spamassassin bayes. Supondo que você tenha bayes configurados, simplesmente substitua your_blacklist_script_here.sh
por sa-learn --spam