Modern Email System “A set of related and interconnected protocols

Modern Email System
“A set of related and interconnected protocols that run on clients and servers to provide the
global mesh of mailboxes, readers, and writers upon which email depends.”
Ray Tomlinson RFC 788
Email Architecture
Three distinct stages of development – all still supported today:
1. Single Shared System – mainframe/mini/server that users access. Administrator
creates mailboxes where received messages are stored. Mail User Agent (MUA)
creates and stores messages across a file system.
2. Shared System Connected to the Internet – add a Message Transfer Agent (MTA) to
handle transfers between hosts; UA still performs the same tasks.
3. Email Clients/Servers Connected to the Internet – connections via LAN/WAN.
Because the receivers are not always present, users need the services of a Message
Access Agent (MAA) to retrieve their email from their mail server.
How does the sender's email system know which host is acting as the receiver's email
system? DNS MX records
Email servers are not necessary for the Simple Mail Transfer Protocol (SMTP) to operate.
Only SMTP MTA is used for host-to-host transfers.
Modern Email Process (Five Basic Steps)
1. Composition within MUA – creates header, body and attachments.
2. Submission to MTA – uses either the MUA or an Access Agent (AA) to transfer mail
to SMTP server.
3. MTA Delivery – uses DNS to determine delivery host or sends message to destination
allowing local agents to determine destination host.
4. Processing – incoming server receives message and places it in recipient's mailbox
5. Access and Reading – uses either the MUA or a Delivery Agent (DA) such as the
Internet Message Access Protocol (IMAP) or the Post Office Protocol (POP).
Four hosts are involved in these five steps:
a) Sender Client
b) Local SMTP
c) Recipient SMTP
d) Recipient client
More about Email related Protocols
SMTP (RFC 921 – RFC 5321) – typically used between servers but can be deployed by
clients to send messages to relay hosts. It is a simple protocol that is text based where one
or more recipients of a message are specified along with the message text and possibly other
encoded objects. The message is then transferred to a remote server using a series of
queries and responses between the client and server.
An email client will determine its outgoing SMTP server from its configuration information. A
relaying server typically determines which SMTP server to connect to by looking up the MX
DNS record for each recipients domain name.
Uses TCP and port 25. SMTP is a “push” protocol that cannot “pull” messages from a remote
server on demand; must employ a DA to pull.