In 1972 Ray Tomlinson was working for Bolt Beranek & Newman of Boston, MA,
a company with an early involvement in development of the Internet, now
better known as BBN.
Then, computer messages operated within an intranet and required only the
recipient's name. For a wider use, the recipient's machine would have to be
specified as well. Tomlinson was scouting the keyboard for a character to
separate a user's name from their machine's when he happened upon the @
sign and launched the e-mail explosion.
Within 10 years e-mail became so popular on the nascent Internet that an
e-mail standard was necessary.
Wary of generating a new complex system, the designers created the Simple
Mail Transport Protocol or SMTP and published it as RFC 821. (The
Internet's founders had settled upon writing a collection of documents
known as Requests For Comments, or RFCs, as a way to lay down standards.
All those standards are online at www.ietf.org)
SMTP is still in use today and more popular than ever. However, its
simplicity meant it was open to abuse, leading to fake messages and
avalanches of junk e-mail, or spam.
E-mail itself is just a message, usually text, delivered to an appropriate
spot on the recipient's computer. The first systems simply copied a file
from one computer to another.
SMTP specifies two elements of e-mail: finding a person and copying the
message to the right place.
Finding a person - for example Bill Gates, ask-bill@microsoft.com - means
first figuring out which computer belonging to microsoft.com handles e-mail
and then asking it to direct the message to ask-bill.
In most cases your e-mail program doesn't need to find out which computer
to send the message to at Microsoft, because SMTP also offers a service
called mail relay. Someone else's computer will do the legwork for you.
Your e-mail program will have been set up with the name of the computer it
should contact to send e-mail. That computer works a bit like your local
post office: it accepts mail from you, and relays it to the real
destination.
All your computer has to do is find its local post office, and it does that
by using the Domain Name System (DNS).
The mail relay computer also uses DNS. It asks the DNS system for the
Internet Protocol, or IP, address of the computer handling Microsoft's
e-mail. Once it has found the right destination the mail relay connects and
employs the SMTP protocol.
The SMTP protocol is text-based - all its messages and commands are written
in text. When sending a message your e-mail program first says HELO (sic)
to the remote computer to identify it. The computer will often literally
reply: "Pleased to meet you."
Your program then identifies you, the sender of the e-mail, with a MAIL
FROM: message followed by your e-mail address. Each recipient is listed
with a RCPT TO: command with the e-mail address of the person the mail is
destined for.
Finally the e-mail program sends the command DATA before sending the text
of your mail message.
Because different computer systems have different ways of storing files, it
would be very hard to create an e-mail system based on copying from
computer to computer. So, SMTP also defines how messages are copied.
RFC 822 defines what the content of an e-mail can be. Typically an e-mail
has a header, with lines like From:, To:, Date:, and Subject: that your
mail program may hide from you or use to present information about the
e-mail.
After all the headers comes the body, the text you typed in. It has to be
in Ascii (American Standard Code for Information Interchange) format:
basically a limited set of simple text and other characters. Anything more
specialised has to be first converted to a text form before being sent.
Luckily, these days, most mail programs know how to convert to and from
Ascii for you. Just be glad you weren't on the Internet 10 years ago.
One of the most widely used e-mail programs is called SendMail, and is sold
by the company of the same name at www.sendmail.com.
It is
also available as open source
or free software from www.sendmail.org.
For some people, e-mail just isn't quick enough: they use instant messaging
systems like ICQ or Yahoo! Pager. But for the lowdown on those systems'
operation you'll have to wait for another time.
o John Graham-Cumming designs software to manage computer networks. This is
the fourth in a series of articles about living with the Net