plugin antispam sa-learn run program failed with exit code -1
Guillaume Lakano - DOVECOT
guillaume-dovecot at lakano.org
Fri Aug 21 14:37:32 UTC 2015
Le 21/08/2015 16:21, Steffen Kaiser a écrit :
>
> - -1 usually means exec() failed, that is:
>
> /usr/bin/sa-learn does not exist or the process thinks so at least.
Hello Steffen, thanks for your reply.
I've tried to use an external script sa-learn-pipe.sh :
> #!/bin/bash
> echo /usr/bin/sa-learn $* /tmp/sendmail-msg-$$.txt echo "$$-start
> ($*)" >> /tmp/sa-learn-pipe.log
> echo $* > /tmp/sendmail-parms.txt cat<&0 >> /tmp/sendmail-msg-$$.txt
> /usr/bin/sa-learn $* /tmp/sendmail-msg-$$.txt && rm -f
> /tmp/sendmail-msg-$$.txt &
> echo "$$-end" >> /tmp/sa-learn-pipe.log
> exit 0
And to update my configuration like that:
>
> antispam_debug_target = syslog
> antispam_verbose_debug = 1
>
> antispam_backend = pipe
> antispam_pipe_program_spam_arg = --spam
> antispam_pipe_program_notspam_arg = --ham
> antispam_pipe_program = /usr/local/bin/sa-learn-pipe.sh
> antispam_pipe_program_args = --username=%Lu
Now, this seems better, no error, the email is correctly moved in /Junk/
and I have no error
> Aug 21 16:31:05 mail imap: antispam: mailbox_is_unsure(Junk): 0
> Aug 21 16:31:05 mail imap: antispam: mailbox_is_trash(INBOX): 0
> Aug 21 16:31:05 mail imap: antispam: mailbox_is_trash(Junk): 0
> Aug 21 16:31:05 mail imap: antispam: mail copy: from trash: 0, to trash: 0
> Aug 21 16:31:05 mail imap: antispam: mailbox_is_spam(INBOX): 0
> Aug 21 16:31:05 mail imap: antispam: mailbox_is_spam(Junk): 0
> Aug 21 16:31:05 mail imap: antispam: mailbox_is_unsure(INBOX): 0
> Aug 21 16:31:05 mail imap: antispam: mail copy: src spam: 0, dst spam:
> 0, src unsure: 0
BUT... the sa-learn-pipe.sh doesn't seems to be called !
No files created in /tmp/
:-(
I also tried to use the "mailtrain" backend but Dovecot doesn't accept
it ( I suppose I need to set "antispam_backend" to "mailtrain" but this
doesn't works ).
>
> Do you have SELinux active? http://wiki2.dovecot.org/WhyDoesItNotWork
> near the end.
sestatus doesn't exists, package not installed ( policycoreutils )
and no file /var/log/audit*
So I suppose iRedMail doesn't install SELinux components.
>
> If this does not help, add a wrapper script in your config and check
> if the script is called at least
>
It's not called at all :-/
More information about the dovecot
mailing list