Given we deal with email addresses every day, dozens or thousands or millions of them, it seems a bit strange to ask what an email address is – but given some of the problems people have with the grubbier corners of address syntax it’s actually an interesting question.
There are two real standards that define what is a valid email address and what isn’t. The most complex is RFC 5322 – Internet Message Format, which describes all sorts of things about the structure of an email, including what’s valid to put in From: and To: headers. It’s really too liberal in what it allows an email address to look like to be terribly useful, but it does provide for one very commonly used feature – the friendly from where the name that’s displayed to the recipient is not just the email address.
From: "Steve Atkins"
Here the string that’s displayed to the user (Steve Atkins) comes first, surrounded by double quotes, then the email address itself (firstname.lastname@example.org) surrounded by angle brackets. You might see other obsolete formats used, including parentheses or no double quotes, but this is the safe one to use.
The other standard is RFC 5321 – Simple Mail Transfer Protocol, which describes how email addresses are used to actually send email. It too is far too liberal in what it allows to be operationally useful for an ESP, but it does define some important features:
- An email address consists of two parts, a local-part and a domain-part separated by an “@” – in email@example.com, steve is the local-part and example.com is the domain-part.
- The domain-part is an internet domain – it’s all you need to know to work out (via a DNS lookup) where an email needs to be sent to.
- The domain-part is case-insensitive – ExamplE.COM is exactly the same as example.com or EXAMPLE.COM.
- The local-part is used by the receiving mailserver to work out what to do with the email once it receives it.
- The local-part is case-sensitive – STEVE@example.com is a different email address to firstname.lastname@example.org.
- You can put almost anything in a local-part – letters, numbers, white space, punctuation, quote marks, parentheses – as long as you quote it properly.
- Only the receiving mailserver can parse the local-part. You might be able to guess what it means, but only the receiving mailserver can say for sure.
I’ve dismissed both of the actual email address standards as too liberal to be useful, so what is useful? I’ll go into some more detail about what it’s operationally sensible to allow and forbid as you’re capturing email addresses, and how to compare and de-dupe them tomorrow (unless I’m preempted by breaking news in the world of email deliveribility, anyway).
[…] ISP Information « What is an email address? (part one) […]
From: “Steve Atkins” :
The quotation marks are only required when the display name has special characters, but yes, what you show here is always safe.
“Tagging an email address is something the owner of an email address can do to make it easier to handle incoming email”:
Since this is entirely outside of any Internet standards, it is supported in only some email systems.
[…] wouldn’t be as…well..friendly. For an indepth look into email addresses check out What is an email address? (part one) and part two. Thanks […]
[…] year Steve Atkins wrote about the legal components of an email address (which are far more limited than my simple regular expressions here), and gave a list of things to […]
Can you block email by the specific local part as a way to stop spammers since they use rotating domains?
Bob, you could — but how would that help? It’s far easier for them to rotate through local parts, since there’s an infinite number of local parts available @ each domain.