I wasn't debating whether the names SHOULD be case-sensitive or not,
rather the method for enforcing insensitivity in the DB. Coercing
strings to lowercase for comparison on each query and therefore
requiring a separate index is brute force. Enforcing the integrity of
the data at insertion is just good design.
Now, that said, while RFC 2821 states that SMTP implementations MUST
treat the local part as case-sensitive, this does NOT mean that any
particular provider MUST have case-sensitive local names. Since some
providers MAY offer case-sensitive names, each SMTP server in the route
must maintain the case integrity.
There are many characters that are allowable by RFC in a local name,
that does NOT mean that every provider has to allow every character in
THEIR local names. A tilde is a perfectly valid character to use in a
local name, however, very few administrators would allow it as a valid
name character to avoid confusion. I can also choose, as the
administrator for email services I provide, NOT to offer case-sensitive
names for the same reason. An email address such as [EMAIL PROTECTED]
could be written in all lowercase, all uppercase or mixed case
([EMAIL PROTECTED]) and still be delivered. As a corporate policy this
just makes sense.
So when person A sends an email to "[EMAIL PROTECTED]" and person B
sends an email to "[EMAIL PROTECTED]" the case is preserved until
delivery so that if we DO have case-sensitive names the correct user
will receive the email. However, there's nothing that says (even RFCs)
that the local system cannot treat those as the same mailbox.
Criticizing dbmail as not RFC compliant because it does not allow
case-sensitive usernames is a straw horse. Criticizing dbmail because
it doesn't offer case-sensitive usernames when YOU want to allow them is
valid.
Robert Claeson wrote:
On 29 Dec 2006, at 03:38, Rod K wrote:
That's still not an elegant solution. The best solution would be be
to write a constraint or domain in the DB that would prevent
uppercase characters being inserted at all no matter where the
insertion is coming from.
That's what I would call a brute-force approach. The case of e-mail
addresses should be preserved. Furthermore, it's only the domain part
of the address that's case insensitive. The local part is actually
case sensitive.
Robert
_______________________________________________
DBmail mailing list
[email protected]
https://mailman.fastxs.nl/mailman/listinfo/dbmail