Email

Anatomy of an email address

Note: RFC2821 and RFC2822, the successors to RFC821 and RFC822 are out.

Internet style addresses

A normal Internet style email address looks like this:

peter@hotmail.com

There are two parts in any address: The local part to the left of the @ (at) sign and the domain to the right of the @ sign. The domain should always be a Fully Qualified Domain Name (FQDN), i.e. a host name with a domain.

Adresses without the domain-part like

peter

should not be used. They will either be rejected or get the domain of the first mail server the mail passes through, which might not be the domain that the sender intended it to get.

One special case is the postmaster address: Every email system must accept mail to postmaster (without the domain part) and deliver this mail to somebody who is responsible for this mail system (see RFC2821 section 4.5.1).

(This address format is defined in RFC2821 and RFC2822.)

Address literals

If there is a (temporary) problem with the domain name system, Address Literals (also called Domain Literals) can be used for addressing. An address looks like this:

peter@[10.11.12.13]

The use of Domain Literals was strongly discouraged by RFC822, but the new RFC2821 doesn't say anything about this discouragement any more. It can be seen in the wild every once in a while. Note that the squared brackets are required for this kind of address.

(See RFC2821 Section 4.1.3. See RFC822 6.2.3 and RFC1123 Section 5.2.17. for historical information.)

Source routes

A special form of an email address is the explicit source route. To be exact, it is more than an address. It is an address plus some routing information, telling the hosts between sender and receiver over which route they should send the mail on. A source route address looks like this:

@donald.mit.edu,@mail.mit.edu:peter@hotmail.com

This means: Send this mail to donald.mit.edu, then to mail.mit.edu and only then on to peter@hotmail.com.

The usage of this format is deprecated. Because of the spam threat, most mail servers on the Internet will block relaying. So they will probably not heed the source route and deliver directly to the final destination.

(See also RFC2821 Section C. See RFC822 Section 6.2.7 and RFC1123 Section 5.2.19. for historical information.)

The percent hack

The so called percent hack is another form of source route. Here an address lookes like this:

peter%hotmail.com%mail.mit.edu@donald.mit.edu

The mail is sent to the host donald.mit.edu, which will strip off the domain and change the rightmost percent sign (%) into an At sign (@), which will result in the following address:

peter%hotmail.com@mail.mit.edu

So it sends the mail on to mail.mit.edu and so on. This use of the percent sign is deprecated because of the associated risk of spam relaying. (See above.)

Note that there is no official document, that makes the percent sign special. It is strictly up to the receiving host, whether it will interpret the percent sign in this special way.

UUCP style addresses

Back in the old days, when there was no Internet, people exchanged messages by UUCP (Unix To Unix Copy). Emails often travelled through several intermediate hosts before they reached their destination. And because there was no domain name system and no central control, nobody had a list of all the computers on the net. If you wanted to send a mail to somebody, you would have to know all the hosts between your computer and the recipients. Email addresses looked like this:

rusx!umoskva!kgbvax!dimitri

This is called a bang path, it gives, from left to right, the names of the hosts the email should go through. Only the last (rightmost) element is not a host name, but the account name of the recipient.

Every once in a while you can still see an address with this format, but it should not be used on the Internet today. Most MTAs wont accept source routes anyways, because of the spam relaying risks. (See above.)

There is one problem with mixing bang pathes and Internet style addresses. Look at an address like this:

rusx!umoskva!kgbvax!dimitri@gateway.ru

Does this mean: Send to rusx, then to umoskva, then to kgbvax and then to dimitri@gateway.ru. Or does it mean, send it to gateway.ru, which will look at the local part and send it on to rusx and so on. There is no official rule how this should be interpreted.

X.400 addresses

X.400 is a mail standard developed by ISO. Nowadays it only plays a marginal role, but there are still some companies and other organizations using it in their internal mail system with a gateway to the Internet. A X.400 mail address look like this:

S=postmaster; OU=rz; P=uni-frankfurt; A=d400; C=de;

As you can see they have no resemblance to internet type addresses. They use a hierarchy of attributes and values. Here, 'S' stands for 'surname', 'OU' for 'organisational unit', 'C' for 'country' and so on. The attributes are not always the same.

For interoperation with Internet mail, the addresses are translated to a form that can be understood by Internet mailers. One typical form looks like this:

S=postmaster/OU=rz/P=uni-frankfurt/A=d400/C=de@gateway.d400.de