Subject: autoresponses and localparts

From: Arnt Gulbrandsen <[email-masked]>
Date: Fri, 12 Oct 2007 11:49:23 +0200

This sort of concerns vacation, but it's a little more general really. 
I'm trying to suppress duplicate autoresponses and have a problem with 
case sensitivity in localparts. Most locaparts are case insensitive, as 
far as I can tell. Mine certainly are. So I have three possibilies:

1. Case-fold both localparts before storing the 
(sender,handle,recipient,expiry) tuple.
2. Case-fold only the sender's localpart.
3. Case-fold neither (just in case :from refers to a non-local 
case-sensitive localpart).

This isn't a big issue. I've seen both Ned.Freed@... and ned.freed@..., 
so if I don't case-fold, Ned might get two autoresponses. If I 
inappropriately case-fold, a very very few messages might be 
suppressed. But I have to decide before I write the unit test, and I'm 
feeling indecisive.

So: What do other implementations do?

Arnt

---

From: Ken Murchison <[email-masked]>
Date: Fri, 12 Oct 2007 09:02:21 -0400

Arnt Gulbrandsen wrote:
> inappropriately case-fold, a very very few messages might be suppressed. 
> But I have to decide before I write the unit test, and I'm feeling 
> indecisive.
> 

IIRC, Cyrus doesn't case-fold either localpart.

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

---

From: Michael Haardt <[email-masked]>
Date: Fri, 12 Oct 2007 15:11:18 +0200

> This sort of concerns vacation, but it's a little more general really. 

Indeed! I never thought about it and RFC 3834 appears to be silent about
the topic.

> case-sensitive localpart).

Exim uses 3 and I like it that way.

Michael

---

From: "Mark E. Mallett" <[email-masked]>
Date: Wed, 17 Oct 2007 12:32:00 -0400

> Exim uses 3 and I like it that way.

I'm not doing any case folding at all; it hadn't occured to me.  It
would probably be prudent to case-fold the sender domain name; are
others?

Related note:  here, "recipient" is not explicitly part of the tuple;
each recipient mailbox has their own vacation database.  If you're using
a global database, and thus store the recipient as part of the tuple,
are you using the final destination?  e.g. if "mark" and "mem" map to
the same mailbox, do you treat them as equivalent?  (I do by default,
since as I say the database is attached to the mailbox.)

mm

---

From: Arnt Gulbrandsen <[email-masked]>
Date: Wed, 17 Oct 2007 21:37:25 +0200

> would probably be prudent to case-fold the sender domain name; are 

Sure. I use case-insensitive matching/lookups for all domains. (And I 
ended up doing case-insensive lookups on the localparts too in this 
context. I looked at all the case-only differences in my mail archive, 
and that seemed best.)

> each recipient mailbox has their own vacation database. If you're 
> using a global database, and thus store the recipient as part of the 
> tuple, are you using the final destination? e.g. if "mark" and "mem" 
> map to the same mailbox, do you treat them as equivalent? (I do by 
> default, since as I say the database is attached to the mailbox.)

I'm using a global database, yes. I look for the SMTP RCPT TO in To/Cc, 
but store the sieve script's owner's address in the database.

Arnt