[Dovecot] Sieve script problem (don't know if is it possible to do this)

Stephan Bosch stephan at rename-it.nl
Fri Nov 15 10:03:58 EET 2013


On 11/15/2013 8:41 AM, Steffen Kaiser wrote:
> Hi Stephan, about #3 how about the variable extension? I never used it so far, but it should work

Congratulations! You fell into the same trap I did when I first saw this
problem. :)

Consider this header:

To: user at dept.example.com, user at example.com, user at other.domain


> > require "fileinto";
> > require "relational";
>
> require "variables";
>
> set "done" "0";
>
> > if address :is :domain "To" "dept.example.com" {
> >    fileinto "Dept";
>
>     set "done" "1";
>
> > }

The variable "done" is set to "1", due to the first address.

> > if allof (
> >  address :value "ne" :domain "To" "dept.example.com",
> >  anyof (
> >    address :matches :domain "To" "*.example.com",
> >    address :is :domain "To" "example.com")) {
> >    fileinto "Company";
>
>     set "done" "1";
> > }

The variable "done" is set to "1", due to the second address. And now
that I think of it, it would also work on the combination of the first
and the third, making this rule still inadequate.

>   if string :is "${done}" "0" {
>     fileinto "other";
>   }

Since "done" is set to "1", the message is not filed into "other". But
that is wrong, due to the presence of the third address.

See the core of the problem now? :)

Regards,

Stephan.



More information about the dovecot mailing list