Op 30/07/2018 om 23:45 schreef spamvoll@googlemail.com:
Hi all,

quick questions about sieve pipe:
I want to pipe spam messages to an external program with additional parameters

my spamlearn.sieve script:

require ["vnd.dovecot.pipe", "copy", "imapsieve"];
pipe :copy "mybin" ["-h 127.0.0.1:44444" , "markspam"];

I also tried:
pipe :copy "mybin" ["-h 127.0.0.1:44444 markspam"];
pipe :copy "mybin" ["-h 127.0.0.1:44444"] ["markspam"];
pipe :copy :args ["-h 127.0.0.1:44444 markspam"] "mybin" ; 

It never executes correct, it always ends with:
Error: sieve: Execution of script /my/path/to/spamlearn.sieve failed

So whats the correct syntax ?

What works is a single argument:
pipe :copy "myscript" ["markspam"]; 

What usually helps debugging is enabling mail_debug=yes, or using the sieve-test tool with -D.

Regards,

Stephan.