RFCs 5321, 5322 and 6531 have complex rules for validating email addresses. They:
"() ,:;<>@[\]
postmaster
localpart as case-insensitive but all other as case-sensitiveThanks to these complicated rules, testing whether a given string is a syntactically valid email address according to the RFCs can't be performed using only Regular Expressions.
Apparently, many of these rules aren't supported by major email providers.
Historically speaking, what were the motivations for creating so complex rules for email addresses? The Wikipedia article on the origins of email would seem to imply that the modern standard from the early 1980s intended to cover all legacy email-ish systems with their particular standards and syntaxes.
However, implementors of standards, email providers and email end-users alike all have a vested interest in a working system, which is easier to achieve when rules are not too arcane and can be easily cast into software that passes a finite number of tests, so why do we today have a standard that is so complicated nobody uses it to the full extent?
Again historically speaking, XML has largely been superseded by JSON, the success of which can partly be ascribed to the simplicity of its grammar.
Ray Tomlinson, of BBN, sent the first message across the network in 1971, initiating the use of the "@" sign to separate the names of the user and the user's machine.
Your username can be any combination of letters, numbers, or symbols.
An email address is a designation for an electronic mailbox that sends and receives messages, known as email, on a computer network. Since the 1980s, all email addresses follow the same format: @. An example is below. On the far right, the .com component represents the top level domain (TLD) for the email address.
The only sure way to see if a supplied email address is genuine is to send an email to it and see if the user recieves it. The one useful check that can be performed on an address is to check that the email address is syntactically valid. That is what this module does.
Systems that send mail must be capable of handling outgoing mail for all valid addresses. Contrary to the relevant standards, some defective systems treat certain legitimate addresses as invalid and fail to handle mail to these addresses. Hotmail, for example, refuses to send mail to any address containing any of the following standards-permissible characters: !#$%*/?^`{|}~
Just different levels of standards, where some are very strict, therefore complex.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With