As with ordinary postal mail, email is an asynchronous communication medium where people send and read messages when it is convenient for them. We now describe SMTP and its components in the context of sender Alice sending an email to a recipient Bob. A user agent typically provides a graphical user interface (GUI), like Microsoft Outlook or Apple Mail, which allows Alice to compose her email. The user agent then sends the email to Alice's mail server where the message is placed in the server's outgoing message queue. When receiver Bob wants to read the message, his user agent retrieves the message from his mailbox in his mail server.
Email servers form the core of the email infrastructure. Each recipient has a mailbox located on one of the mail servers, like Hotmail or Gmail. Bob's mailbox, for example, manages and maintains the messages sent to him. SMTP is the principal application-layer protocol for email and it uses the reliable Transmission Control Protocol (TCP) as its underlying transport protocol. SMTP is primarily a push protocol - the sending mail server pushes the file to the receiving mail server (this is in contrast to HTTP which is mainly a pull protocol). But Bob, the receiver, needs a pull protocol, such as POP3 or IMAP or HTTP, to pull the message from his mail server.
Email uses store-and-forward transmission at the input to links, meaning the switch must receive the entire packet before forwarding the packet. SMTP has two sides: a client side that executes on the sender's mail server and a server side that executes on the recipient's mail server. When a mail server sends mail to other mail servers, it acts as an SMTP client. When a mail server receives mail from other mail servers, it acts as an SMTP server. The delivery path of an email from the sender's system to the receiver's system (header information) can be examined.
For each email most systems show the following header information:
More detailed header information can also be accessed, often for forensic purposes to trace the pathway of the email or uncover other information. This detailed information utilizes the unique addressing scheme that is required to support host-to-host email connectivity. In the Internet, the host is identified by its Internet Protocol (IP) address. The hierarchical structure of the IP address is similar to that of the postal address (street number, street name, city, state, country). An IP address (for the most used "class A" specification) consists of four 8-bit numbers usually represented as four decimal numbers separated by periods: the first specifies the network, the second two the subnet (sub network), and the fourth the host which is the machine of the sender, receiver, or an intermediate server. However, because of the widespread deployment of Network Address Translators (NATs), in practice, the IP address alone does not uniquely address a host. A directory service called domain name system (DNS) translates hostnames to IP addresses. The Internet Message Format (IMF) describes the basic and the Multipurpose Internet Mail Extensions (MIME) the advanced email message formats. The table below summarizes the common message header fields.