Should uppercase letters be allowed in email addresses?

Official RFC documents that we can use both upper and lower case letters in the "local" part of the domain (plus many other crazy things).

However, what is common in the real world - and what the spec says, are two different things. None of these extra characters ( ! # $ % & ' * / = ? ^ { | } ~ ) ! # $ % & ' * / = ? ^ { | } ~ allowed in messages from major providers such as yahoo, google or hotmail. In addition, an e-mail with capital letters ( JohnDoe@example.com ) is very rare.

Today I sent a couple of emails using different upper and lower case compilers and found that my mail servers viewed them as one account, ignoring the fact that the shell of the letter is different. In other words, JohnDoe@example.com = johndoe@example.com to my mail servers (including my free email accounts).

Do I have to act in the format that the world has chosen and standardize / omit all ANSII emails? . Or can I allow users to register multiple accounts as JohnDoe@example.com , johndoe@example.com , and JOHNdoe@example.com ?

+6
email email-validation
source share
4 answers

Probably the right compromise is to allow them to register with the capitalization of their choice and show where appropriate (" JOHNdoe@example.com Inbox"). But you have to canonize capitalization for uniqueness checks, as there are many erroneously configured email senders, for example, write down your entire email address before sending.

+4
source share

The reason for the standard was that non-Unix systems could participate in ARPAnet and then on the Internet with minimal problems. (VMS and Tenex were common in the first, as well as BITNET. In the latter, at least lowercase characters required 3278 or updated 3270 terminals.) These days it is best to ignore the case in the local part, since everyone figured out how to use lowercase letters as needed.

+2
source share

In Microsoft SQL Server, by default, indexes are case-insensitive.

If you put a unique index in the field, the user may have a readable CamelCase name such as JohnDoe@acme.org , and duplicates such as johndoe@ACME.org will be automatically rejected.

+2
source share

I personally would decide to standardize / omit all letters. This simplifies everything for you, because if a user sends email or logs into your system, it’s very easy to enter the wrong email address - JohnDoe@example.com vs johnDoe@example.com. And, as you said, the major providers made this decision to follow this circuit. Even if you have uppercase letters, it will confuse your overall user base as they expect something else (AKA is all lowercase).

+1
source share

All Articles