On 15/09/2024 15:30 EEST Richard via dovecot <dovecot@dovecot.org> wrote:
Hi there,
I've set up dovecot via global sieve scripts to send mails that a user manually moved to their junk directory to rspamd to learn them as spam (and learn messages as ham if they are moved out of it). I thought I had it all properly set up, but I'm now again seeing log messages like this:
Sep 15 13:01:00 dovecot[523226]: imap(username)<823661><4+8RXyYi2L9/AAAB>: Error: sieve: failed to execute to program `rspamd-learn-spam.sh': refer to server log for more information. [2024-09-15 13:01:00] Sep 15 13:01:00 dovecot[523226]: imap(username)<823661><4+8RXyYi2L9/AAAB>: Error: sieve: Execution of script /etc/dovecot/sieve/global/learn-spam.sieve failed
The content of learn-spam.sieve is this:
require ["vnd.dovecot.pipe", "copy", "imapsieve"]; pipe :copy "rspamd-learn-spam.sh";
And the content of rspamd-learn-spam.sh is this:
#!/bin/sh exec /usr/bin/rspamc learn_spam
All the necessary files are located in /etc/dovecot/sieve/global and are owned by dovecot:dovecot with rw, r, r permissions. Also, I have compiled the .sieve files with sievec, the resulting .svbin files have the same permissions and ownership. What am I doing wrong? I don't see any further "server log" that will tell me more information.
I'm using dovecot 2.3.19.1 (9b53102964) on Debian 12.7
Best
Richard
Did you remember to set +x on the rspamd-learn-spam.sh script?
Does it work if you invoke it by hand?
Aki