[SIEVE] pipe :copy to external program with arguments

Reio Remma reio at mrstuudio.ee
Tue Jul 31 09:57:25 EEST 2018


On 31.07.18 0:45, spamvoll at 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 <http://127.0.0.1:44444>" , 
> "markspam"];
>
> I also tried:
> pipe :copy "mybin" ["-h 127.0.0.1:44444 <http://127.0.0.1:44444> 
> markspam"];
> pipe :copy "mybin" ["-h 127.0.0.1:44444 <http://127.0.0.1:44444>"] 
> ["markspam"];
> pipe :copy :args ["-h 127.0.0.1:44444 <http://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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://dovecot.org/pipermail/dovecot/attachments/20180731/d2e991d3/attachment.html>


More information about the dovecot mailing list