Hi,

"If personal user scripts also need to directly access external programs, the extensions need to be added to the sieve_extensions setting. "

from https://wiki2.dovecot.org/Pigeonhole/Sieve/Plugins/Extprograms

so is this a global sieve script or personal sieve script? I think it is personal script as it is triggered by imapsieve.

Sami

On 1 Apr 2020, at 15.35, Johannes Rohr <johannes@rohr.org> wrote:

Dear all, I try to recompile my learn_ham.sieve script, which fails with the message

root@ida:/etc/dovecot# sievec sieve-scripts/report-ham.sieve 

report-ham: line 1: error: require command: unknown Sieve capability `vnd.dovecot.pipe'.
report-ham: line 1: error: require command: unknown Sieve capability `imapsieve'.
report-ham: line 19: error: unknown command 'pipe' (only reported once at first occurrence).
report-ham: error: validation failed.
sievec(root): Fatal: failed to compile sieve script 'sieve-scripts/report-ham.sieve'

Yes, in conf.d/20-imap.conf, imapsieve and vnd.dovecot.pipe are explicitly enabled:

protocol imap {
  mail_plugins = $mail_plugins imap_sieve imap_acl
  mail_max_userip_connections = 50

plugin {
sieve_plugins = sieve_imapsieve sieve_extprograms
  # From elsewhere to Spam folder
  imapsieve_mailbox1_name = Spam
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_before = file:/etc/dovecot/sieve-scripts/report-spam.sieve
  # From Spam folder to elsewhere
  imapsieve_mailbox2_name = *
  imapsieve_mailbox2_from = Spam
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_before = file:/etc/dovecot/sieve-scripts/report-ham.sieve
#
sieve_pipe_bin_dir = /etc/dovecot/sieve-scripts
sieve_global_extensions = +vnd.dovecot.execute +vnd.dovecot.pipe

	}
}


I am obviously overlooking something here, but what?

Any hints will be greatly appreciated!

Johannes