[Dovecot] configure lmtp to deliver to email addresses case insensitively

Adrian Zaugg adi at ente.limmat.ch
Tue Dec 17 04:04:15 EET 2013

Hi David

> I believe RFC822 email addresses are case-insensitive, and (in some

RFC 2821, Page 13, 1st paragraph:
   "The local-part of a mailbox
   MUST BE treated as case sensitive.  Therefore, SMTP implementations
   MUST take care to preserve the case of mailbox local-parts.  Mailbox
   domains are not case sensitive.  In particular, for some hosts the
   user "smith" is different from the user "Smith".  However, exploiting
   the case sensitivity of mailbox local-parts impedes interoperability
   and is discouraged."

> cases, especially ones where there's just a mail server) it's entirely
> possible that people remember their account names  with some capital
> letters that aren't in user db. (System knows you as
> "mrsmithy at mail.domain", while the user may remember the account as
> "MrSmithy at mail.domain" or "MrsMithy at mail.domain"...). Also, people with

I just want login names to be case sensitive but not email addresses,
and in spite of being treated as case insensitive email addresses should
retain their case, just like defined and suggested in the RFC.

This reduces support calls because it's con-formant and we have a clear
policy: Usernames are always lower case, non-email addresses, the same
simple and short name for all our services. There is nothing easier than
this. We use this since 17 years and it works without confusion. If a
user now spots that suddendly any capitalization of usernames is working
when logging in to the webmail, how can I explain that this doesn't work
with other services like FTP?

> smartphones may not notice that the phone "helpfully" uppercased the
> first letter of a lowercase user name. Forcing case reduces support
> calls, which is always a good thing.
That's why email addresses should be allowed containing capitalizations.
On smartphone people tend to use MUAs and there the username is saved
and not entered each and every time, so for the username this is less
true, I think.

Back to dovecot: Using LDA as a transport for the dovecot store, it used
to work perfectly (with dovecot 1.x). It's just LMTP that spits, because
it looks up the local part in the userdb, which is PAM in our case. I
won't change PAM to act case insensitive: I'm not in the position to
change a common sense in the computing world as it always was. It's
enough Microsoft did that and probably just because of that we're having
this discussion here...

However, it's maybe best to lowercase the local part in the exim
lmtp-transport and leave dovecot's LMTP in peace.

Best regards, Adrian.

More information about the dovecot mailing list