SpamAssassin com treinamento dovecot-antispam

1

Estou tentando fazer com que o dovecot-antispam trabalhe com o SpamAssassin 'sa-learn. Esta é a configuração do meu Dovecot:

antispam_backend = pipe
antispam_trash = trash;Trash;Deleted Items; Deleted Messages
antispam_spam = Junk
antispam_pipe_program_spam_arg = --spam
antispam_pipe_program_notspam_arg = --ham
antispam_pipe_program = /usr/bin/sa-learn
antispam_pipe_tmpdir = /tmp

No entanto, parece que não consigo trabalhar. Quando tento mover um falso-negativo de / para minha pasta Junk no meu MUA, recebo o seguinte erro:

[SERVERBUG] Failed to send mail

Isso é o que é registrado pelo dovecot-antispam:

imap: antispam: mail copy: src spam: 1, dst spam: 0, src unsure: 0
imap: antispam: running mailtrain backend program /usr/bin/sa-learn
imap: antispam: running mailtrain backend program /usr/bin/sa-learn
imap: antispam: running mailtrain backend program parameter 1 --ham
imap: antispam: run program failed with exit code 2

Portanto, aparentemente, sa-learn sai com o código 2. No entanto, não sei o que isso significa. A documentação do sa-learn não menciona nada sobre códigos de saída, então não sei onde devo começar a depurar isso.

    
por Compizfox 02.07.2015 / 17:52

1 resposta

3

Quando você move a mensagem, dovecot invoca o sa-learn com o UID do dovecot, portanto sa-learn não tem permissões suficientes para atualizar os bancos de dados bayesianos.

Você precisa adicionar o usuário de dovecot ao grupo spamd e garantir que você tenha a próxima linha

bayes_file_mode 0660

no arquivo etc/spamassassin/local.cf .

Além disso, você precisa verificar se os bancos de dados do bayes já têm permissões 0660. Em seguida, reinicie o spamassassin .

    
por 02.07.2015 / 18:53