On 31.07.18 0:45, spamvoll@googlemail.com wrote:
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"]; 

Dovecot Version 2.3.2.1

My spam script is executed with:

pipe :copy "sa-learn-sieve.sh" ["spam", "${username}", "${message}"];

The latter two arguments are variables in the sieve script.

Good luck,
Reio