[Dovecot] Getting started with sieve and conversion from procmail
Alex
mysqlstudent at gmail.com
Tue Nov 15 17:38:44 EET 2011
Hi,
>> I have a number of procmail scripts and I've converted them to sieve,
>> but they didn't convert very well. Can someone show me how to convert
>> the following:
>>
>> :0
>> {
>> :0 fhW
>> | /home/alex/bin/process-mail.pl
>> }
>>
>> The script skipped right over that.
>
> The Sieve language doesn't support invoking external programs. You can
> execute this program before Sieve, for instance by wrapping the LDA
> invocation.
Can you describe how I might do this?
> Also, there is a non-standard (an still pretty much
> experimental) language extension for this, as provided by the pipe plugin:
Is there a way to just continue to use procmail?
>> I'm also trying to convert the following:
>>
>> :0
>> * (RCVD_IN_DNSWL_HI|RCVD_IN_DNSWL_LOW|RCVD_IN_HOSTKARMA_W)
>> * !USER_IN_WHITELIST
>> * !BAYES_00
>> * !URIBL_
>> * !KHOP_RCVD_UNTRUST
>> * !RCVD_IN_DNSWL_MED
>> * !SPF_SOFTFAIL
>> * SPF_HELO_PASS
>> * SPF_PASS
>> {
>> LOG="DNSWL: "
>> :0:
>> whitelist/dnswl
>> }
>>
>> The script only produced the following:
>
> [...]
>>
>> Any ideas greatly appreciated.
>
> I'm not sure what these rules are supposed to mean (most conditions are
> obscured in variables), but by the looks of things these should also be
> executed outside Sieve as well. If all those conditions map to simple header
> and envelope tests, you can provide a Sieve alternative. However, I think
> USER_IN_WHITELIST queries some external list and that too is not (currently)
> possible from Pigeonhole Sieve. Also, it is not possible to change the log
> prefix from Sieve (as suggested by LOG=).
No, these are all simple header matches. There's no external program
being executed here. The LOG= is also a procmail built-in, but I can
do without that.
Thanks again,
Alex
More information about the dovecot
mailing list