Electronic mail (email) was not actually part of the plan when ARPA began to build the data communications network that would eventually evolve into the Internet. However, after being introduced to the ARPAnet in 1972, electronic mail quickly became the most-used application on the network.
It can also be safely said that, on the Internet, email is one of the most widely used applications, and a large percentage of the total traffic on the Internet relates to email. Internet email has a client side and a server side, just like FTP and the Web (this is discussed in the section "Working with the Web," later in this chapter).
On the client side, there are a large number of different Internet email clients. Web browsers such as Netscape Navigator and Microsoft Internet Explorer have built-in or associated email clients. A number of different email clients, including some freeware clients , can be downloaded from numerous sites on the Web.
The ability to receive Internet email has also been integrated into popular Personal Information Managers such as Microsoft Outlook and Lotus Notes (both of which are considered groupware products, as discussed in Chapter 11, "Working with Applications on the Network"). Figure 14.6 shows the Microsoft Outlook window and the Inbox with the highlighted message in the Reading pane. Multiple views and options exist with such email clients, providing a reasonable level of customization.
Figure 14.6. A number of different clients, including Microsoft Outlook, are available for email.
Email addresses take the form of name @domain.suffix . For example, if I worked at a company named SureFire Fireworks, my email address might be email@example.com .
The first part of the address is the mailbox or email username. In the case of the preceding example, joeh would be used to specify a particular user and the mailbox in which a mail item addressed to firstname.lastname@example.org should be placed on the SureFire Fireworks email server.
The second part of the address (in this case, surefire.com ) is the Internet domain name of the company and is used to specify the mail server. Domain names are covered in more detail later in the chapter when we take a look at DNS.
In developing an understanding of how email servers on the Internet (or an intranet) work, one needs to remember that the sending and receiving of email on the Internet or a company's intranet is tightly woven into how data is moved from one location to another by the different protocols in the TCP/IP stack (discussed in Chapter 5). The three TCP/IP protocols that we need to discuss in terms of email are the Simple Mail Transfer Protocol (SMTP), the Post Office Protocol 3 (POP3), and the Internet Message Access Protocol (IMAP).
SMTP is a protocol that works at the Application, Presentation, and Session layers of the OSI model (see Chapter 5 for an explanation of the OSI model). It uses TCP at the Transport layer for connection-oriented transport of packets.
SMTP's purpose is to transfer email from a sending computer (for example, someone sending email) to a receiving computer (the SMTP email server). So, SMTP functionality is built into the email client and the email server software. SMTP is also the protocol that moves email between email servers (such as from the origin email server to the destination email server).
SMTP clients actually identify the location of a particular email server by using the domain name that accompanies the actual email account name. For example, the domain name in our example email@example.com is surefire.com . With the help of a DNS server (discussed in Chapter 12), the client can resolve the domain name information (along with the fact that it is looking for an SMTP mail server) to the actual IP address of the mail server.
At one time SMTP was used for both the sending and receiving of email messages. This works fine in situations where the clients and the mail server are on the same network. This is because SMTP uses a connection-oriented strategy for moving mail messages (as was already mentioned). However, the Internet isn't necessarily the type of environment where all the computers that use this internetwork are online all the time. Therefore, some sort of strategy had to be developed in which email could be held on a mail server until a particular user logs on to the Internet to retrieve his mail. This is where POP3 comes in.
POP3 is a TCP/IP stack protocol used by email clients to connect to a POP3 email server. The POP3 mail server basically functions as a mail drop.
The POP3 mail server will have a persistent connection to the Internet, allowing it to accept and hold email intended for the clients that use the server. When a client connects to the Internet, it can use a POP3 email client to connect to the POP3 server and download any available mail.
The client's logon name and a password are used to access the appropriate mailbox on the POP3 server. Once the client connects, all the mail is removed from the server and downloaded to the client computer.
A POP3 session actually goes through three different stages: authorization, transaction, and update. The authorization stage requires that the user provide the appropriate authorization credentials, such as the user name and password (as we discussed in the previous paragraph). Once the user has been authenticated to the server, the client accesses the email on the server, which in most cases is downloaded to the client computer. The update stage involves tasks that are to be carried out when the user terminates the connection to the mail server. For example, most Internet service providers require that all downloaded email (sent to the client during the transaction stage) be removed from the mail server.
You will find that most email server software supports both SMTP and POP3. So, many companies or Internet service providers will have one server that provides SMTP and POP3 functionality.
IMAP is an email transport program that provides an alternative to the POP3 protocol. IMAP mail servers do not immediately dump all the available mail from the server to the IMAP client when the client connects. Rather, the server sends a listing of waiting messages. The messages themselves are kept on the server. This allows a user to view both saved messages and new messages on the IMAP mail server.
IMAP is particularly useful when one email account might be accessed by more than one computer or device. For example, a user with a computer and an email-enabled cellular phone or a Personal Data Assistant, such as a Palm Pilot, that is outfitted to connect to the email server might access his email from more than one device, depending on whether he is in the office or on the road.
Because the mail is maintained on the server, even after it has been read, the status of each message can be viewed each time the user logs on to the IMAP mail server, regardless of whether he accesses the server with his personal computer or email-ready cell phone. This is useful when you're on the road because you would see the status of messages as you left them after accessing mail on your office computer, meaning email messages will not be replied to more than one time, and even read messages can be accessed from the any email-ready device.
Popular Web-based email services such as Yahoo! mail and Microsoft Hotmail take advantage of IMAP. Figure 14.7 shows the Inbox for a Hotmail account. All the email is held on the mail server until the user deletes the messages.
Figure 14.7. Systems such as Hotmail store email messages on the server until they are deleted by the user.
Most email clients support SMTP, POP3, and IMAP. Email server software such as Microsoft Exchange and Lotus Domino (the server for Lotus Notes) also supports these different email protocols.
Configuring an Email Client
Configuring an email client on a client computer is a matter of specifying the SMTP and POP3 (or IMAP) servers that provide the client with the ability to send and receive email. It goes without saying that the client computer also needs to be configured for an Internet connection either via a dial-up or other connection type such as a direct LAN or broadband connection (such as cable broadband or DSL).
To configure an email client you must provide the email account name (in the format firstname.lastname@example.org ) and the user password to access the account. You must also provide the name of the incoming and outgoing servers (POP3 usually serves as incoming; whereas SMTP serves as outgoing). Figure 14.8 shows the configuration wizard for the Mozilla email client running on a computer using the Lycoris (Linux) operating system.
Figure 14.8. Configuring an email client requires the account name, password, and the name of the mail servers.
Once the account and mail server properties have been configured, the email client can be used to send and receive email.