11.2. Email Program Classifications
In general, all email applications fall into at least one of three
classifications. Each classification plays a specific role in the
process of moving and managing email messages. While most users are only
aware of the specific email program they use to receive and send
messages, each one is important for ensuring that email arrives at the
correct destination.
11.2.1. Mail Transfer Agent
A Mail Transfer Agent
(MTA) transfers email messages between hosts
using SMTP. A message may involve several MTAs as it moves to its
intended destination.
While the delivery of messages between machines may seem rather
straightforward, the entire process of deciding if a particular MTA
can or should accept a message for delivery is quite complicated. In
addition, due to problems from spam, use of a particular MTA is
usually restricted by the MTA's configuration or by the lack of access
to the MTA's network.
Many modern email client programs can act as an MTA when sending
email. However, this action should not be confused with the role of a
true MTA. The sole reason email client programs are capable of sending
out email (like an MTA) is because the host running the application
does not have its own MTA. This is particularly true for email client
programs on non-Unix-based operating systems. However, these client
programs only send outbound messages to an MTA they are authorized to
use and do not directly deliver the message to the intended
recipient's email server.
Since Red Hat Linux installs two MTAs, Sendmail and Postfix, email client
programs are often not required to act as an MTA. Red Hat Linux also includes
a special purpose MTA called Fetchmail.
For more information on Sendmail and Fetchmail, refer to Section 11.3 Mail Transport Agents.
11.2.2. Mail Delivery Agent
A Mail Delivery Agent
(MDA) is invoked by the MTA to file incoming
email in the proper user's mailbox. In many cases, the MDA is actually
a Local Delivery Agent
(LDA), such as mail or
Procmail.
Any program that actually handles a message for delivery to the point
where it can be read by an email client application can be considered
an MDA. For this reason, some MTAs (such as Sendmail and Postfix) can
fill the role of an MDA when they append new email messages to a local
user's mail spool file. In general, MDAs do not transport messages
between systems nor do they provide a user interface; MDAs distribute
and sort messages on the local machine for an email client application
to access.
11.2.3. Mail User Agent
A Mail User Agent (MUA)
is synonymous with an email client application. An MUA is a program
that, at the very least, allows a user to read and compose email
messages. Many MUAs are capable of retrieving messages via the POP or
IMAP protocols, setting up mailboxes to store messages, and sending
outbound messages to an MTA.
MUAs may be graphical, such as Mozilla
Mail, or have a very simple, text-based interface, such
as mutt or pine.