Generic Mail Flow

MUA --> MTA -> MDA -> mailbox

First, you write mail in the MUA (mail user agent). Then, the MUA hands it to the MTA (mail transport agent), which carries the mail to the correct “system”. Once it arrives at the correct system, the MDA (mail delivery agent) takes over and delivers it to the correct user on that system. The user can then read it with their MUA.

In the case of our article example, sending mail works in this way:

pine -> smail -> destination
MUA -> MTA -> destination

In other words, you write e-mail in your MUA (pine) which hands it to your MTA (smail). Note, pine can hand your mail to an MTA on any machine on the Net. If you don't have a permanent connection, make sure pine hands the mail to the MTA on your own machine. That way the mail is silently “queued” and sent the next time you connect.

Once the MTA has the mail, the MTA is responsible for seeing that the mail arrives at its destination without further intervention from you.

Receiving mail from your ISP works like this:

ISP's POP server -> fetchpop -> procmail -> your mailboxes
ISP's POP server -> MTA -> MDA -> your mailboxes

In this case, fetchpop is the MTA. It fetches each message from your account on the POP server, then hands the mail off to your MDA (procmail), which sorts the message and stuffs it into the appropriate mailbox.

You can now read and reply to mail using your MUA (pine).