Email, the most popular network service, has revolutionized how people communicate through its simplicity and speed. Yet to run on a computer or other end device, email requires several applications and services. Two example application layer protocols are Post Office Protocol (POP) and Simple Mail Transfer Protocol (SMTP), shown in Figure 1. As with HTTP, these protocols define client/server processes.

When people compose email messages, they typically use an email client, otherwise known as a Mail User Agent (MUA). The email client allows messages to be sent and places received messages into the client’s mailbox, both of which are distinct processes.

To receive email messages from an email server, the email client can use POP. Sending email from either a client or a server uses message formats and command strings defined by SMTP. Usually an email client provides the functionality of both protocols within one application, as shown in Figure 2.