Email case sensitivity in Discourse

That’s a draft, not an actual standard. But in any case it doesn’t really say the local part is case sensitive. We’re splitting hairs now, but read it again.

It says, in the context of mail delivery, the local-part must be treated as case-sensitive, because it’s case must be preserved. This is very specifically directed at SMTP implementations - MTAs and their submission queues - and it says so. (Note Discourse is at best a MUA, not an MTA.) Mail Transfer Agents cannot tell how local-parts are interpreted because they do not know the behaviour of the MDA at the receiving end. If the parent OS and/or MDA is case-sensitive, mangling the case in MUA output or MTA breaks email, thus the requirement to preserve case.

The same draft says:

However, exploiting the case sensitivity of mailbox local-parts impedes interoperability and is discouraged.

RFC1123 (which is a standard) quotes and elaborates on Postel:

The second part of the principle is almost as important: software on other hosts may contain deficiencies that make it unwise to exploit legal but obscure protocol features. It is unwise to stray far from the obvious and simple, lest untoward effects result elsewhere. A corollary of this is “watch out for misbehaving hosts”; host software should be prepared, not just to survive other misbehaving hosts, but also to cooperate to limit the amount of disruption such hosts can cause to the shared communication facility.

[quote=“Lion, post:154, topic:4432”]
The fact that it is handled as though case insensitive in many configurations and set ups doesn’t change the fact that applications accessing and using the server are explicitly told that they CANNOT ASSUME THAT. And given that discourse does use those email addresses to mail, they have no choice but to assume case sensitivity if they are using email address as log on.[/quote]

You’ve misinterpreted the scope of the RFC. It says SMTP implementations right in the text you quoted - it says that if I supply an email address to Discourse and it sends mail to me using the SMTP protocol it must preserve the case of the address as I supplied it. This is undeniable. However, it most assuredly does not explicitly say that when using an email address as a validation string completely outside of the SMTP layer I should conform to an inapplicable standard that breaks the robustness principle by inverting user expectations.