Email address

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Example of an email address

An email address identifies an email box to which email messages are delivered. A wide variety of formats were used in early email systems, but only a single format is used today, following the standards developed for Internet mail systems since the 1980s. This article uses the term email address to refer to the addr-spec defined in RFC 5322, not to the address that is commonly used; the difference is that an address may contain a display name, a comment, or both.

An email address such as John.Smith@example.com is made up of a local-part, an @ symbol, then a case-insensitive domain. Although the standard requires[1] the local part to be case-sensitive, it also urges that receiving hosts deliver messages in a case-independent fashion[2], e.g., that the mail system at example.com treat John.Smith as equivalent to john.smith; some mail systems even treat them as equivalent to johnsmith,[3] and mail systems often limit their users' choice of name to a subset of the technically valid characters. In some cases they also limit which addresses it is possible to send mail to.

With the introduction of internationalized domain names, efforts are progressing to permit non-ASCII characters in email addresses.

Overview[edit]

The transmission of electronic mail within the Internet uses the Simple Mail Transfer Protocol (SMTP), defined in Internet standards RFC 5321 and RFC 5322, and extensions like RFC 6531. The mailboxes may be accessed and managed by users with the Post Office Protocol (POP) or the Internet Message Access Protocol (IMAP) with email client software that runs on a personal computer, mobile device, or with webmail systems that render the messages on a screen or on paper printouts.

The general format of an email address is local-part@domain, and a specific example is jsmith@example.com. An address consists of two parts. The part before the @ symbol (local-part) identifies the name of a mailbox. This is often the username of the recipient, e.g., jsmith. The part after the @ symbol (domain) is a domain name that represents the administrative realm for the mail box, e.g., a company's domain name, example.com.

When delivering email, an SMTP client, e.g., Mail User Agent (MUA), Mail Transfer Agent (MTA), uses the domain name system (DNS) to look up a Resource Record (RR) for the recipient's domain (the part of the email address on the right of @); if there is a mail exchanger Resource Record (MX record) then the returned MX record contains the name of the recipient's mailserver, otherwise the SMTP client uses an address record (A or AAAA). The MTA next connects to this server as an SMTP client. The local part of an email address has no significance for intermediate mail relay systems other than the final mailbox host. Email senders and intermediate relay systems must not assume it to be case-insensitive, since the final mailbox host may or may not treat it as such. A single mailbox may receive mail for multiple email addresses, if configured by the administrator. Conversely, a single email address may be the alias to a distribution list to many mailboxes. Email aliases, electronic mailing lists, sub-addressing, and catch-all addresses, the latter being mailboxes that receive messages regardless of the local part, are common patterns for achieving a variety of delivery goals.


The addresses found in the header fields of an email message are not directly used by mail exchangers to deliver the message. An email message also contains a message envelope that contains the information for mail routing. While envelope and header addresses may be equal, forged email addresses are often seen in spam, phishing, and many other Internet-based scams. This has led to several initiatives which aim to make such forgeries easier to spot.

To indicate the message recipient, an email address also may have an associated display name for the recipient, which is followed by the address specification surrounded by angled brackets, for example: John Smith <john.smith@example.org>.

Earlier forms of email addresses on other networks than the Internet included other notations, such as that required by X.400, and the UUCP bang path notation, in which the address was given in the form of a sequence of computers through which the message should be relayed. This was widely used for several years, but was superseded by the Internet standards promulgated by the Internet Engineering Task Force (IETF).

Syntax[edit]

The format of email addresses is local-part@domain where the local part may be up to 64 characters long and the domain may have a maximum of 255 characters[4]. The formal definitions are in RFC 5322 (sections 3.2.3 and 3.4.1) and RFC 5321—with a more readable form given in the informational RFC 3696[5] and the associated errata. Note that unlike the syntax of RFC 1034[6] and RFC 1035[7], there is no trailing period in the domain name.

Local-part[edit]

The local-part of the email address may use any of these ASCII characters:

  • uppercase and lowercase Latin letters A to Z and a to z;
  • digits 0 to 9;
  • special characters !#$%&'*+-/=?^_`{|}~;
  • dot ., provided that it is not the first or last character unless quoted, and provided also that it does not appear consecutively unless quoted (e.g. John..Doe@example.com is not allowed but "John..Doe"@example.com is allowed);[8]

Note that some mail servers wildcard local parts, typically the characters following a plus and less often the characters following a minus, so fred+bah@domain and fred+foo@domain might end up in the same inbox as fred+@domain or even as fred@domain. This can be useful for tagging emails for sorting, see below, and for spam control. Braces { and } are also used in that fashion, although less often.

  • space and "(),:;<>@[\] characters are allowed with restrictions (they are only allowed inside a quoted string, as described in the paragraph below, and in addition, a backslash or double-quote must be preceded by a backslash);
  • comments are allowed with parentheses at either end of the local-part; e.g. john.smith(comment)@example.com and (comment)john.smith@example.com are both equivalent to john.smith@example.com.

In addition to the above ASCII characters, international characters above U+007F, encoded as UTF-8, are permitted by RFC 6531, though even mail systems that support SMTPUTF8 and 8BITMIME may restrict which characters to use when assigning local-parts.

A local part is either a Dot-string or a Quoted-string; it cannot be a combination. Quoted strings and characters however, are not commonly used.[citation needed] RFC 5321 also warns that "a host that expects to receive mail SHOULD avoid defining mailboxes where the Local-part requires (or uses) the Quoted-string form".

The local-part postmaster is treated specially—it is case-insensitive, and should be forwarded to the domain email administrator. Technically all other local-parts are case-sensitive, therefore jsmith@example.com and JSmith@example.com specify different mailboxes; however, many organizations treat uppercase and lowercase letters as equivalent. Indeed, RFC 5321 warns that "a host that expects to receive mail SHOULD avoid defining mailboxes where ... the Local-part is case-sensitive".

Despite the wide range of special characters which are technically valid, organisations, mail services, mail servers and mail clients in practice often do not accept all of them. For example, Windows Live Hotmail only allows creation of email addresses using alphanumerics, dot (.), underscore (_) and hyphen (-).[9] Common advice is to avoid using some special characters to avoid the risk of rejected emails.[10]

Domain[edit]

The domain name part of an email address has to conform to strict guidelines: it must match the requirements for a hostname, a list of dot-separated DNS labels, each label being limited to a length of 63 characters and consisting of:[8]:§2

  • uppercase and lowercase Latin letters A to Z and a to z;
  • digits 0 to 9, provided that top-level domain names are not all-numeric;
  • hyphen -, provided that it is not the first or last character.

This rule is known as the LDH rule (letters, digits, hyphen). In addition, the domain may be an IP address literal, surrounded by square brackets [], such as jsmith@[192.168.2.1] or jsmith@[IPv6:2001:db8::1], although this is rarely seen except in email spam. Internationalized domain names (which are encoded to comply with the requirements for a hostname) allow for presentation of non-ASCII domains. In mail systems compliant with RFC 6531 and RFC 6532 an email address may be encoded as UTF-8, both a local-part as well as a domain name.

Comments are allowed in the domain as well as in the local-part; for example, john.smith@(comment)example.com and john.smith@example.com(comment) are equivalent to john.smith@example.com.

Examples[edit]

Valid email addresses
simple@example.com
very.common@example.com
disposable.style.email.with+symbol@example.com
other.email-with-hyphen@example.com
fully-qualified-domain@example.com
user.name+tag+sorting@example.com (may go to user.name@example.com inbox depending on mail server)
x@example.com (one-letter local-part)
"very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com
example-indeed@strange-example.com
admin@mailserver1 (local domain name with no TLD, although ICANN highly discourages dotless email addresses)
#!$%&'*+-/=?^_`{}|~@example.org
"()<>[]:,;@\\\"!#$%&'-/=?^_`{}| ~.a"@example.org
example@s.example (see the List of Internet top-level domains)
user@[2001:DB8::1]
" "@example.org (space between the quotes)
Invalid email addresses
Abc.example.com (no @ character)
A@b@c@example.com (only one @ is allowed outside quotation marks)
a"b(c)d,e:f;g<h>i[j\k]l@example.com (none of the special characters in this local-part are allowed outside quotation marks)
just"not"right@example.com (quoted strings must be dot separated or the only element making up the local-part)
this is"not\allowed@example.com (spaces, quotes, and backslashes may only exist when within quoted strings and preceded by a backslash)
this\ still\"not\\allowed@example.com (even if escaped (preceded by a backslash), spaces, quotes, and backslashes must still be contained by quotes)
1234567890123456789012345678901234567890123456789012345678901234+x@example.com (local part is longer than 64 characters)
john..doe@example.com (double dot before @)
john.doe@example..com (double dot after @)

Common local-part semantics[edit]

According to RFC 5321 2.3.11 Mailbox and Address, "...the local-part MUST be interpreted and assigned semantics only by the host specified in the domain of the address." This means that no assumptions can be made about the meaning of the local-part of another mail server. It is entirely up to the configuration of the mail server.

Local-part normalization[edit]

Interpretation of the local part of an email address is dependent on the conventions and policies implemented in the mail server. For example, case sensitivity may distinguish mailboxes differing only in capitalization of characters of the local-part, although this is not very common.[11] Gmail ignores all dots in the local-part for the purposes of determining account identity.[12] This prevents the creation of user accounts your.user.name or yourusername when the account your.username already exists.

Subaddressing[edit]

Some mail services support a tag included in the local-part, such that the address is an alias to a prefix of the local part. For example, the address joeuser+tag@example.com denotes the same delivery address as joeuser@example.com. RFC 5233, refers to this convention as sub-addressing, but it is also known as plus addressing or tagged addressing.

Addresses of this form, using various separators between the base name and the tag, are supported by several email services, including Runbox (plus), Gmail (plus),[13] Rackspace Email (plus), Yahoo! Mail Plus (hyphen),[14] Apple's iCloud (plus), Outlook.com (plus),[15] ProtonMail (plus),[16] FastMail (plus and Subdomain Addressing),[17] MMDF (equals), Qmail and Courier Mail Server (hyphen).[18][19] Postfix allows configuring an arbitrary separator from the legal character set.[20]

The text of the tag may be used to apply filtering,[18] or to create single-use, or disposable email addresses.[21]

In practice, the form validation of some web sites may reject special characters such as "+" in an email address – treating them, incorrectly, as invalid characters. This can lead to an incorrect user receiving an e-mail if the "+" is silently stripped by a website without any warning or error messages. For example, an email intended for the user-entered email address foo+bar@example.com could be incorrectly sent to foobar@example.com. In other cases a poor user experience can occur if some parts of a site, such as a user registration page, allow the "+" character whilst other parts, such as a page for unsubscribing from a site's mailing list, do not.

Validation and verification[edit]

Email addresses are often requested as input to website as user identification for the purpose of data validation. While there are companies that provide services to validate an email address at the time of entry, normally using an Application programming interface, there is no guarantee that it will provide accurate results.[22]

An email address is generally recognized as having two parts joined with an at-sign (@). However, the technical specification detailed in RFC 822 and subsequent RFCs are more extensive.[23] A regular expression can be used to check for all of these criteria, except that of bracketed nested comments.[24]

Syntactically correct, verified email addresses do not guarantee email box existence. Thus many mail servers use other techniques and check the mailbox existence against relevant systems such as the Domain Name System for the domain or using callback verification to check if the mailbox exists. This is however often disabled to avoid directory harvest attack.

Assuring an email address is of a good quality requires a combination of various validation techniques. Large websites, bulk mailers and spammers require fast algorithms that predict validity of email address. Such methods depend heavily on heuristic algorithms and statistical models.[25]

Many websites evaluate the validity of email addresses differently than the standards specify, rejecting addresses containing valid characters, such as + and /, or enforcing arbitrary length limitations. RFC 3696 provides specific advice for validating Internet identifiers, including email addresses.

HTML5 forms implemented in many browsers allow email address validation to be handled by the browser.[26]

Email address internationalization provides for a much larger range of characters than many current validation algorithms allow, such as all Unicode characters above U+0080, encoded as UTF-8.

Identity validation[edit]

Email addresses are the primary means of account activation (user identification and validation on websites), but other methods are available, such as cell phone number validation, postal mail validation, fax validation. Email address validation is accomplished by the website sending an email to the user-provided email address with a special temporary hyperlink. On receipt, the user opens the link, immediately activating the account. Email addresses are also useful as means of forwarding messages from a website, e.g., user messages, user actions, to the email inbox.

Internationalization[edit]

The IETF conducts a technical and standards working group devoted to internationalization issues of email addresses, entitled Email Address Internationalization (EAI, also known as IMA, Internationalized Mail Address).[27] This group produced RFC 6530, RFC 6531, RFC 6532, and RFC 6533, and continues to work on additional EAI-related RFCs.

The IETF's EAI Working group published RFC 6530 "Overview and Framework for Internationalized Email", which enabled non-ASCII characters to be used in both the local-parts and domain of an email address. RFC 6530 provides for email based on the UTF-8 encoding, which permits the full repertoire of Unicode. RFC 6531 provides a mechanism for SMTP servers to negotiate transmission of the SMTPUTF8 content.

The basic EAI concepts involve exchanging mail in UTF-8. Though the original proposal included a downgrading mechanism for legacy systems, this has now been dropped.[28] The local servers are responsible for the local-part of the address, whereas the domain would be restricted by the rules of internationalized domain names, though still transmitted in UTF-8. The mail server is also responsible for any mapping mechanism between the IMA form and any ASCII alias.

EAI enables users to have a localized address in a native language script or character set, as well as an ASCII form for communicating with legacy systems or for script-independent use. Applications that recognize internationalized domain names and mail addresses must have facilities to convert these representations.

Significant demand for such addresses is expected in China, Japan, Russia, and other markets that have large user bases in a non-Latin-based writing system.

For example, in addition to the .in top-level domain, the government of India in 2011[29] got approval for ".bharat", (from Bhārat Gaṇarājya), written in seven different scripts[30][31] for use by Gujrati, Marathi, Bangali, Tamil, Telugu, Punjabi and Urdu speakers. Indian company XgenPlus.com claims to be the world's first EAI mailbox provider,[32] and the Government of Rajasthan now supplies a free email account on domain राजस्थान.भारत for every citizen of the state.[33] A leading media house Rajasthan Patrika launched their IDN domain पत्रिका.भारत with contactable email.

Internationalization examples[edit]

The example addresses below would not be handled by RFC 5322 based servers, but are permitted by RFC 6530. Servers compliant with this will be able to handle these:

Internationalization support[edit]

  • Postfix mailer supports internationalized mail since 2015-02-08 with a stable release 3.0.0.[34]
  • Google has support for sending emails to and from internationalized domains, but does not allow the registration of non-ASCII email addresses.[35]
  • Microsoft added similar functionality in Outlook 2016[36]
  • DataMail launches internationalized email support for 8 Indian languages using the XgenPlus email platform in India.[37]

Standards documents[edit]

  • RFC 821 – Simple Mail Transfer Protocol (Obsoleted by RFC 2821)
  • RFC 822 – Standard for the Format of ARPA Internet Text Messages (Obsoleted by RFC 2822) (Errata)
  • RFC 1035 – Domain names, Implementation and specification (Errata)
  • RFC 1123 – Requirements for Internet Hosts, Application and Support (Updated by RFC 2821, RFC 5321) (Errata)
  • RFC 2142 – Mailbox Names for Common Services, Roles and Functions (Errata)
  • RFC 2821 – Simple Mail Transfer Protocol (Obsoletes RFC 821, Updates RFC 1123, Obsoleted by RFC 5321) (Errata)
  • RFC 2822 – Internet Message Format (Obsoletes RFC 822, Obsoleted by RFC 5322) (Errata)
  • RFC 3696 – Application Techniques for Checking and Transformation of Names (Errata)
  • RFC 4291 – IP Version 6 Addressing Architecture (Updated by RFC 5952) (Errata)
  • RFC 5321 – Simple Mail Transfer Protocol (Obsoletes RFC 2821, Updates RFC 1123) (Errata)
  • RFC 5322 – Internet Message Format (Obsoletes RFC 2822, Updated by RFC 6854) (Errata)
  • RFC 5952 – A Recommendation for IPv6 Address Text Representation (Updates RFC 4291) (Errata)
  • RFC 6530 – Overview and Framework for Internationalized Email (Obsoletes RFC 4952, 5504, 5825)
  • RFC 6854 – Update to Internet Message Format to Allow Group Syntax in the "From:" and "Sender:" Header Fields (Updates RFC 5322)

See also[edit]

References[edit]

  1. ^ J. Klensin (October 2008). "General Syntax Principles and Transaction Model". Simple Mail Transfer Protocol. p. 15. sec. 2.4. doi:10.17487/RFC5321. RFC 5321. https://tools.ietf.org/html/rfc5321#section-2.4. "The local-part of a mailbox MUST BE treated as case sensitive." 
  2. ^ J. Klensin (October 2008). "General Syntax Principles and Transaction Model". Simple Mail Transfer Protocol. p. 15. sec. 2.4. doi:10.17487/RFC5321. RFC 5321. https://tools.ietf.org/html/rfc5321#section-2.4. "However, exploiting the case sensitivity of mailbox local-parts impedes interoperability and is discouraged." 
  3. ^ "...you can add or remove the dots from a Gmail address without changing the actual destination address; and they'll all go to your inbox...", Google.com
  4. ^ Klensin, J. (October 2008). "Size Limits and Minimums". Simple Mail Transfer Protocol. IETF. sec. 4.5.3.1. doi:10.17487/RFC5321. RFC 5321. https://tools.ietf.org/html/rfc5321#section-4.5.3.1. 
  5. ^ Written by J. Klensin, the author of RFC 5321
  6. ^ Domain names - concepts and facilities. November 1987. doi:10.17487/RFC1034. RFC 1034. https://tools.ietf.org/html/rfc1034. 
  7. ^ Domain names - implementation and specification. November 1987. doi:10.17487/RFC1035. RFC 1035. https://tools.ietf.org/html/rfc1035. 
  8. ^ a b Klensin, J. (February 2004). RFC 3696. IETF. doi:10.17487/RFC3696. https://tools.ietf.org/html/rfc3696. Retrieved 2017-08-01. :§3
  9. ^ "Sign up for Windows Live". Retrieved 2008-07-26. . However, the phrase is hidden, thus one has to either check the availability of an invalid ID, e.g. me#1, or resort to alternative displaying, e.g. no-style or source view, in order to read it.
  10. ^ "Characters in the local part of an email address". Retrieved 2016-03-30. 
  11. ^ Are Email Addresses Case Sensitive? by Heinz Tschabitscher
  12. ^ "Receiving someone else's mail". google.com. 
  13. ^ "Using an address alias". google.com. 
  14. ^ https://help.yahoo.com/kb/SLN3523.html
  15. ^ "Outlook.com supports simpler "+" email aliases too". Within Windows. Archived from the original on 2014-02-20. 
  16. ^ "Addresses and Aliases". protonmail.com. 
  17. ^ "Plus addressing and subdomain addressing". fastmail.fm. 
  18. ^ a b "Dot-Qmail, Control the delivery of mail messages". Retrieved 27 January 2012. 
  19. ^ Sill, Dave. "4.1.5. extension addresses". Life with qmail. Retrieved 27 January 2012. 
  20. ^ "Postfix Configuration Parameters". postfix.org. 
  21. ^ Gina Trapani (2005) "Instant disposable Gmail addresses"
  22. ^ When a Valid and Deliverable Email is Neither Valid nor Deliverable Paul, Andrew. Email Answers. Retrieved 26 April 2013
  23. ^ I Knew How To Validate An Email Address Until I Read The RFC
  24. ^ Mail::RFC822::Address
  25. ^ Verification & Validation Techniques for Email Address Quality Assurance by Jan Hornych 2011, University of Oxford
  26. ^ "4.10 Forms — HTML5". w3.org. 
  27. ^ "Eai Status Pages". Email Address Internationalization (Active WG). IETF. March 17, 2006 – March 18, 2013. Retrieved July 26, 2008. 
  28. ^ "Email Address Internationalization (eai)". IETF. Retrieved November 30, 2010. 
  29. ^ "2011-01-25 - Approval of Delegation of the seven top-level domains representing India in various languages"
  30. ^ "Internationalized Domain Names (IDNs) | Registry.In". registry.in. Retrieved 2016-10-17. 
  31. ^ "Now, get your email address in Hindi - The Economic Times". The Economic Times. Retrieved 2016-10-17. 
  32. ^ "Universal Acceptance in India". 
  33. ^ "देश में पहला, प्रदेश के हर नागरिक के लिए मुफ्त ई-वॉल्ट और ई-मेल की सुविधा शुरू - वसुन्धरा राजे". वसुन्धरा राजे (in Hindi). 2017-08-18. Retrieved 2017-08-20. 
  34. ^ "'Postfix stable release 3.0.0' – MARC". marc.info. 
  35. ^ "A first step toward more global email". Google Official Blog. Google. Retrieved 6 August 2014. 
  36. ^ "What's new in Outlook 2016 for Windows", support.office.com
  37. ^ "DataMail launches free linguistic email service in eight Indian languages". Tech2. Retrieved 2017-11-25. 

External links[edit]