An e-mail address identifies a location to which e-mail messages can be delivered. An e-mail address on the modern Internet looks like, for example, jsmith@example.com and is usually read as "jsmith at example dot com". Many earlier e-mail systems had different formats for e-mail addresses, and because modern e-mail systems are partially based on and compatible with these older systems, the exact format of an e-mail address is complicated and frequently misunderstood.

Overview

Most e-mail on the Internet uses the Simple Mail Transfer Protocol (SMTP), which is defined in the Internet standards RFC 5321 and RFC 5322.

E-mail addresses, such as jsmith@example.com , have two parts. The part before the @ sign is the local-part of the address, often the username of the recipient ( jsmith ), and the part after the @ sign is the domain which is a hostname to which the e-mail message will be sent ( example.com ). Roughly speaking, the hostname is looked up in the Domain Name System to find the mail transfer agent or Mail eXchangers (MXs) accepting e-mail for that address.

The domain may have semantic meaning for any mail-system handling the address; the meaning is well defined, and any changes in meaning involve changing every mail server in existence. The local-part, by contrast, is supposed to be opaque to every mail system except the system which is authoritative for the domain. This is what makes e-mail a federated system.

When a host receives an e-mail, it will be delivered to an e-mail mailbox. Some hosts allow more than one e-mail address to be sent to the same mailbox via an e-mail alias or even allow a catch-all address where the local-part can be undefined and e-mail would be delivered to a configured and existing e-mail address.

Often, the domain of an e-mail address is that of an e-mail service, such as Google's Gmail, Microsoft's Hotmail, etc. The domain can also be the domain name of the organization that the recipient represents, or of the recipient's personal site.

Addresses found in the header fields of e-mail should not be considered authoritative, because SMTP has no generally-required mechanisms for authentication. Forged e-mail 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.

Further information: E-mail authentication, Anti-spam techniques (e-mail)

To indicate whom the message is intended for, a user can use the "display name" of the recipient followed by the address specification surrounded by angled brackets, for example: John Smith <john.smith@example.com> .

Earlier forms of e-mail addresses included the somewhat verbose notation 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 generally more convenient SMTP form.

RFC specification

E-mail addresses are formally defined in RFC 5322 (mostly section 3.4.1) and to a lesser degree RFC 5321. An e-mail address is a string of a subset of ASCII characters (see however the internationalize addresses below) separated into 2 parts by an "@" (at sign), a "local-part" and a domain, that is, local-part@domain .

The local-part of an e-mail address may be up to 64 characters long and the domain name may have a maximum of 255 characters. However, the maximum length of a forward or reverse path length of 256 characters restricts the entire e-mail address to be no more than 254 characters. Some mail protocols, such as X.400, may require larger objects, however. The SMTP specification recommends that software implementations impose no limits for the lengths of such objects.

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

  • Uppercase and lowercase English letters (a-z, A-Z)
  • Digits 0 to 9
  • Characters ! # $ % & ' * + - / = ? ^ _ ` { | } ~
  • Character . (dot, period, full stop) provided that it is not the first or last character, and provided also that it does not appear two or more times consecutively.

Additionally, quoted-strings (ie: "John Doe"@example.com ) are permitted, thus allowing characters that would otherwise be prohibited, however they do not appear in common practice. 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 is case sensitive, so "jsmith@example.com" and "JSmith@example.com" may be delivered to different people. This practice is discouraged by RFC 5321. However, only the authoritative mail servers for a domain may make that decision. The only exception is for a local-part value of "postmaster" which is case insensitive, and should be forwarded to the server's administrator.

Notwithstanding the addresses permitted by these standards, some systems impose more restrictions on e-mail addresses, both in e-mail addresses created on the system and in e-mail addresses to which messages can be sent. Hotmail, for example, only allows creation of e-mail addresses using alphanumerics, dot ( . ), underscore ( _ ) and hyphen ( - ), and will not allow sending mail to any e-mail address containing ! # $ % * / ? | ^ { } ` ~ . The domain name is much more restricted: it must match the requirements for a hostname, consisting of letters, digits, hyphens and dots. In addition, the domain may be an IP address literal, surrounded by square braces, such as jsmith@ (this is rarely seen, except in spam).

The informational RFC 3696 written by the author of RFC 5321 explains the details in a readable way, with a few minor errors noted in the 3696 errata.

RFC invalid e-mail addresses

  • Abc.example.com (character @ is missing)
  • Abc.@example.com (character dot(.) is last in local part)
  • Abc..123@example.com (character dot(.) is double)
  • A@b@c@example.com (only one @ is allowed outside quotations marks)
  • ()\;:,<>@example.com (none of the characters before the @ in this example are allowed outside quotation marks)

Email Address Internationalization

Email Address Internationalization (EAI, aka IMA - Internationalize eMail Address) is an IETF working group devoted to internationalization issues in email addresses. This group has published informational RFC 4952 envisioning changes to the mail header environment to permit the full range of Unicode characters and an SMTP Extension to permit UTF-8 mail addressing , among other things. Experimental RFC 5335 describes internationalised email headers, including a utf8-based address specification. The list of valid examples below is thus expected to undergo significant additions.

The basic EAI concepts involve exchanging mail in UTF-8, with downgrading mechanisms for legacy systems. The local servers would be responsible for the "local" part of the address, whereas the domain portion would be restricted by IDN (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.

When EAI becomes standardized, users will likely have a "localized" address in a non-Latin script, as well as an ASCII alias for communicating with legacy systems or for script-independent use. One problem is then that digital address books will then need to be able to recognize differing forms of a single contact email address. Similarly single sign on systems may need some work to adapt to multiple possible user aliases.

China will produce a Chinese language version of the EAI standard in November 2009.

Example Internationalize eMail Addresses

  • Pelé@live.com (simple diacritic, still mostly Latin)
  • δοκιμή@παράδειγμα.δοκιμή
  • 甲斐@黒川.日本

"AdamDoe@example.com" is not an International eMail Alias because it is entirely ASCII and does not need the EAI UTF8SMTP or other protocols to be interpreted.

Common local-part semantics

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 part 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

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 not very common. GMail (Google Mail) ignores all dots in the local-part for the purposes of determining account identity. This prevents the creation of user accounts your.user.name or yourusername when the account your.username already exists.

Sub-addressing

Some mail services allow a user to append a +tag qualifier to their e-mail address (e.g., joeuser+tag@example.com ). The text of tag can be u

Links to companies dealing with International or postal data; or data ...

Experian (in English) - online software for international address validation. Geolab (in Italian, based in Verona, Italy) - Italian and international address validation and ...

...

Experian QAS - International Address Data Available: Verify ...

Experian QAS is committed to the use of primary data sources for all its international address search and validation processes. Users of QAS Pro, Batch or Pro Web verify ...

...

Verify International Addresses | QAS Software

International address search; Pro Web :: address validation for websites. Overview: QAS Pro Web ... Verify international addresses using QAS. As a leading provider of ...

...

Direct mail data processing services, international merge purge ...

International Address Validation & Correction This is an essential part of any direct mail campaign. Our address accuracy process identifies and corrects addresses in over 200 ...

...

Online Address Validation | QAS Pro Web

Online address validation for Websites. Verify postal addresses using USPS data. International web address search also available.

...

FREE TRIAL - Address Verification & Validation, Address Lookup ...

Accurate address validation: QAS Pro uses the latest Australia Post Postal Address File (PAF) or equivalent for international addresses.

...

DM_October 2006.qxd (Page 1)

International Addressing Graham Rhind considers the challenges of international address validation and how three vendors tackle them. 2 Database Marketing October 2006 www.dmarket.co.uk ...

...

DataMentors Adds International Address Validation

DataMentors Adds International Address Validation. Information Management Online, May 9, 2008 Information Management Editorial Staff. May 9, 2008 - DataMentors, a leading full ...

...

Error-tolerant international address validation

Press Release from March 2006 Error-tolerant international address validation International address validation currently covers more than 190 countries / Ideal

...

Issue 4 - php-email-address-validation - International Domain ...

New international domain names are not accepted. International Domain Names should be Punycoded before validated against the rules. The email address before it's punycoded should ...

...