|Lesson 2||Electronic mail and sendmail|
|Objective||Explain the email process and the use of agents.|
Electronic mail and sendmail
Electronic mail is a system for sending messages between individuals specified by
electronic mail addresses. The principal problem that the electronic mail system needs to solve is that of routing a message from the sender to
the intended recipient. This problem can be subdivided into several stages:
A different program handles each of these steps. These programs are also called agents.
- The sender of the message composes the message and dispatches it for delivery.
- The message is routed from machine to machine across the Internet until it reaches the destination host, where the intended recipient has an account.
- The message arrives at the destination host and is delivered to a mailbox file owned by the intended recipient.
- The intended recipient accesses their mailbox file and reads the new message.
Steps 1 and 4 of the process above are handled by a Mail User Agent (MUA). Examples of Mail User Agents are pine, elm, and the UNIX mail
program. Step 2 of the above process (from the moment when the message is dispatched for delivery by the MUA until it arrives at the destination machine) is handled by a program called a Mail Transfer Agent (MTA). MTAs route email among different machines. On the Internet today, this
machine-to-machine routing of email nearly always employs the application layer protocol called Simple Mail Transfer Protocol, or SMTP, on top of a TCP connection.
Step 3 of the above process is handled by a Mail Delivery Agent (or MDA). The Mail Delivery Agent copies the message from the MTA into
the users mailbox file. Examples of MDAs include the
procmail program and the UNIX mail program.
Under some circumstances, a single program may carry out more than one of the above functions. For example, the UNIX
mail program may function as both an MUA and an MDA for mail sent to users on the local host.