An E-mail Message
The first e-mail message was sent in 1971 by an engineer
named Ray Tomlinson. Prior to this, you could only send messages to users on a
single machine. Tomlinson's breakthrough was the ability to send messages to
other machines on the Internet, using the @ sign to designate the
receiving machine.
An e-mail message has always been nothing more than a simple text
message - a piece of text sent to a recipient. In the beginning and even
today, e-mail messages tend to be short pieces of text, although the ability to
add attachments now makes many e-mail messages quite long. Even with
attachments, however, e-mail messages continue to be text messages - we'll see
why when we get to the section on attachments
You have probably already received several e-mail messages
today. To look at them, you use some sort of e-mail client. Many people
use well-known stand-alone clients like Microsoft Outlook, Outlook Express,
Eudora or Pegasus. People who subscribe to free e-mail services like Hotmail or
Yahoo use an e-mail client that appears in a Web Page. If you are an AOL
customer, you use AOL's e-mail reader. No matter which type of client you are
using, it generally does four things:
- It shows you a list of all of the messages in your mailbox
by displaying the message headers. The header shows you who sent the mail,
the subject of the mail and may also show the time and date of the message and
the message size.
- It lets you select a message header and read the body of
the e-mail message.
- It lets you create new messages and send them. You type in
the e-mail address of the recipient and the subject for the message, and then
type the body of the message.
- Most e-mail clients also let you add attachments to
messages you send and save the attachments from messages you receive.
Sophisticated e-mail clients may have all sorts of bells and
whistles, but at the core, this is all that an e-mail client does.
A Simple E-mail Server
Given that you have an e-mail client on your machine, you
are ready to send and receive e-mail. All that you need is an e-mail
server for the client to connect to. Let's imagine what the simplest
possible e-mail server would look like in order to get a basic understanding of
the process. Then we will look at the real thing.
You know that machines on the Internet can run software
applications that act as servers. There are Web servers, FTP servers,
telnet servers and e-mail servers running on millions of machines on the
Internet right now. These applications run all the time on the server machine
and they listen to specific ports, waiting for people or programs to
attach to the port. The simplest possible e-mail server would work something
like this:
- It would have a list of e-mail accounts, with one account
for each person who can receive e-mail on the server. My account name might be mbrain,
John Smith's might be jsmith, and so on.
- It would have a text file for each account in the list. So
the server would have a text file in its directory named MBRAIN.TXT, another
named JSMITH.TXT, and so on.
- If someone wanted to send me a message, the person would
compose a text message ("Marshall ,
Can we have lunch Monday? John") in an e-mail client, and indicate that
the message should go to mbrain. When the person presses the Send button, the
e-mail client would connect to the e-mail server and pass to the server the
name of the recipient (mbrain), the name of the sender (jsmith) and the body of
the message.
- The server would format those pieces of information and
append them to the bottom of the MBRAIN.TXT file. The entry in the file might
look like this:
From: jsmith To: mbrain
Marshall, Can we have lunch
Monday? John
There are several other pieces of information that the
server might save into the file, like the time and date of receipt and a
subject line; but overall, you can see that this is an extremely simple
process.
As other people sent mail to mbrain, the server would simply
append those messages to the bottom of the file in the order that they arrived.
The text file would accumulate a series of five or 10 messages, and eventually
I would log in to read them. When I wanted to look at my e-mail, my e-mail client
would connect to the server machine. In the simplest possible system, it would:
- Ask the server to send a copy of the MBRAIN.TXT file
- Ask the server to erase and reset the MBRAIN.TXT file
- Save the MBRAIN.TXT file on my local machine
- Parse the file into the separate messages (using the word
"From:" as the separator)
- Show me all of the message headers in a list
When I double-clicked on a message header, it would find
that message in the text file and show me its body.
You have to admit that this is a very simple
system. Surprisingly, the real e-mail system that you use every day is not much
more complicated than this.
The Real E-mail System
For the vast majority of people right now, the real e-mail
system consists of two different servers running on a server machine. One is
called the SMTP server, where SMTP stands for Simple Mail Transfer
Protocol. The SMTP server handles outgoing mail. The other is either a POP3
server or an IMAP server, both of which handle incoming mail. POP
stands for Post Office Protocol, and IMAP stands for Internet Mail Access
Protocol. A typical e-mail server looks like this:
The SMTP server listens on well-known port number 25, POP3
listens on port 110 and IMAP uses port 143
No comments:
Post a Comment