imapsieve fail to pipe to sa-learn-spam.sh

David Mehler dave.mehler at gmail.com
Sat Apr 14 09:02:26 EEST 2018


Hello,

I'm trying to get Dovecot 2.31, pidgeonhole 0.51 going with imapsieve
and rspamd. I'm getting the below in my errorlog:

cat dovecot.log
2018-04-13 17:35:34 imap-login: Info: Login:
user=<testuser at domain.com>, method=PLAIN, rip=127.0.0.1,
lip=127.0.0.1, mpid=57977, secured, session=<o4T2psFpje5/AAAB>
2018-04-13 17:35:34
imap(testuser at domain.com)<57977><o4T2psFpje5/AAAB>: Error: sieve: pipe
action: failed to pipe message to program: program `sa-learn-spam.sh'
not found
2018-04-13 17:35:34
imap(testuser at domain.com)<57977><o4T2psFpje5/AAAB>: Info: sieve: left
message in mailbox 'Spam'
2018-04-13 17:35:34
imap(testuser at domain.com)<57977><o4T2psFpje5/AAAB>: Error: sieve:
Execution of script /usr/home/vmail/sieve/global/report-spam.sieve
failed
2018-04-13 17:35:34
imap(testuser at domain.com)<57977><o4T2psFpje5/AAAB>: Info: copy from
INBOX: box=Spam, uid=1, msgid=, size=1638
2018-04-13 17:35:34
imap(testuser at domain.com)<57977><o4T2psFpje5/AAAB>: Info: delete:
box=INBOX, uid=2, msgid=, size=1638
2018-04-13 17:35:34
imap(testuser at domain.com)<57977><o4T2psFpje5/AAAB>: Info: expunge:
box=INBOX, uid=2, msgid=, size=1638
2018-04-13 17:35:34
indexer-worker(testuser at domain.com)<59488><o4T2psFpje5/AAAB:5O+4G6Yi0Vpg6AAA0J78UA>:
Info: Indexed 0 messages in Spam
2018-04-13 17:35:34
imap(testuser at domain.com)<57977><o4T2psFpje5/AAAB>: Info: Logged out
in=144 out=1227 deleted=1 expunged=1 trashed=0 hdr_count=0 hdr_bytes=0
body_count=0 body_bytes=0

90-plugin.conf excerpt:
plugin {
  sieve_plugins = sieve_imapsieve sieve_extprograms
    sieve_before = /home/vmail/sieve/global/admin.sieve
    sieve = file:/home/vmail/sieve/%d/%n/scripts;active=/home/vmail/sieve/%d/%n/active-script.sieve

    # Spam learning
  # From elsewhere to Spam folder
  imapsieve_mailbox1_name = Spam
  imapsieve_mailbox1_causes = COPY
    imapsieve_mailbox1_before = file:/home/vmail/sieve/global/report-spam.sieve

  # From Spam folder to elsewhere
  imapsieve_mailbox2_name = *
  imapsieve_mailbox2_from = Spam
  imapsieve_mailbox2_causes = COPY
    imapsieve_mailbox2_before = file:/home/vmail/sieve/global/report-ham.sieve
    sieve_pipe_bin_dir = /home/vmail/sieve
    sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.execute
+vnd.dovecot.environment

Here are my sieve scripts, they have been compiled, and the shell
scripts, all are owned and group of vmail:vmail and the scripts are
775.
home/vmail/sieve/global#cat report-spam.sieve
require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];
if environment :matches "imap.user" "*" {
  set "username" "${1}";
}
pipe :copy "sa-learn-spam.sh" [ "${username}" ];

/home/vmail/sieve/global#cat report-ham.sieve
require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];
if environment :matches "imap.mailbox" "*" {
  set "mailbox" "${1}";
}
if string "${mailbox}" "Trash" {
  stop;
}
if environment :matches "imap.user" "*" {
  set "username" "${1}";
}
pipe :copy "sa-learn-ham.sh" [ "${username}" ];

/home/vmail/sieve/global#cat sa-learn-spam.sh
#!/bin/sh
exec /usr/local/bin/rspamc -h /var/run/rspamd/rspamd.sock -P
"Password" learn_spam

/home/vmail/sieve/global#cat sa-learn-ham.sh
#!/bin/sh
exec /usr/local/bin/rspamc -h /var/run/rspamd/rspamd.sock -P
"password" learn_ham

I'd appreciate any suggestions.

Thanks.
Dave.


More information about the dovecot mailing list