Sieve vacation extension recipient address matching

Ken Murchison murch at andrew.cmu.edu
Thu Feb 23 07:58:32 EST 2006


James Ralston wrote:
> On 2006-02-22 at 17:00-05 Ken Murchison <murch at andrew.cmu.edu> wrote:
> 
> 
>>James Ralston wrote:
>>
>>
>>>Hmmm.  From my read of the imapd.conf, I think this will do what I
>>>want:
>>>
>>>    virtdomains: off
>>>    defaultdomain: example.com
>>>
>>>I am understanding these options correctly?  I.e, does the
>>>defaultdomain also apply to the recipient matching that Sieve's
>>>vacation extension performs?
>>
>>It probably won't help.  Chances are that the domain is completely
>>stripped off of the envelope recipient by the time the sieve script
>>is executed.  Because there is no way for lmtpd or Sieve to know
>>what a user's email address is, you almost always have to use
>>:addresses in the vacation action.
> 
> 
> You're right; using defaultdomain doesn't help.
> 
> But this brings up an interesting point: why is Sieve matching against
> the envelope recipient address in the first place?  Per
> draft-ietf-sieve-vacation-06.txt, address matching applies to the
> headers in the message (e.g.; To, CC), not to the envelope recipients.
> 
> And while Sieve can't know for certain what the user's email address
> is, I think a reasonable default guess would be the username for the
> local-part and the default virtual domain for the domain.  (I think
> that's the logic already, but I wasn't sure based on my quick read of
> the code.)
> 
> So, I think this is really a bug in Sieve.  If Sieve would perform the
> address matching against the headers instead of the envelope
> recipient, then I think this problem would be a lot less common.
> 
> Thoughts?

I wasn't clear.  We *do* compare the recipient's email addresses against 
the recipients headers (To, Cc, etc).  However, in the absence of the 
:addresses parameter, the only email address that we have for the 
recipient is the envelope RCPT TO address (which may or may not contain 
the domain).

In other words, if you look at section 4.5 of 
draft-ietf-sieve-vacation-06, CMU Sieve uses points 1. and 2.

-- 
Kenneth Murchison
Systems Programmer
Project Cyrus Developer/Maintainer
Carnegie Mellon University


More information about the Info-cyrus mailing list