help with sieve

Stephan Bosch stephan at
Tue Apr 26 21:07:51 UTC 2016

Op 3/31/2016 om 1:15 AM schreef dovecot at
> Dear Dovecot / Pigeonhole community,
> I have a very specific issue, but trying to solve this for a full day,
> I am now getting so bold from pulling my hairs out, I thought it was
> time I asked for help. I hope this is a good place for that.
> At my hosting provider, who have been extremely helpful by the way but
> are not specifically skilled in Sieve, I have a catch-all address set
> up: * (where * is literal), with a sieve script to control
> how messages are forwarded. Currently my rules are of the form:
> if address :localpart :is ["To","Cc","Bcc"] ["name1", "name2", ...] {
> ... }
> This works most of the time, but sometimes the messages are not
> directly addressed to me and so they slip through the filters. I
> figured that using envelope would solve this, so I require envelope
> and then do:
> if envelope :localpart :is "To" ["name1", "name2", ...] { ... }
> But this fails. After endlessly trying different combinations I
> figured out that the reason for failure is that the envelope believes
> the "To" is actually "*", so it is never going to match any
> of the names. However, the following test succeeds:
> if header :contains "Envelope-To" "name1@" { ... }
> From this I deduce that a previous script has already done the
> conversion from name1 to *, and at the point where my sieve script is
> run the envelope picks up the * address, leaving the
> Envelope-To header for what it is. But I am new to this.
> Is that likely to be the case? Is it a common sieve set-up? And most
> importantly, is there a better way around the issue than testing
> header :contains?

That seems rather bizarre. As you say, it is probably caused by whatever
precedes Sieve processing. You can post your MTA and any other relevant
config here and perhaps someone can help you.



More information about the dovecot mailing list