Email Program Classifications
In general, all email applications fall into at least one of three
classifications. Each of these classifications 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 of these types is important for making sure email
arrives at the correct destination.
Mail User Agent
A Mail User Agent (MUA) is a program that, at
the very least, allows a user to read and compose email messages. An
MUA is often referred to as an email client. Of
course, many MUAs help users do more than that, including retrieving
messages via the POP or IMAP protocols, setting up mailboxes to store
messages, or helping present new messages to a Mail Transfer Agent
that will deliver them to their final destination.
MUA programs may be graphical, such as Mozilla
Mail, or have a very simple, text-based interface, such
as mutt.
Mail Transfer Agent
A Mail Transfer Agent (MTA) transfers email
messages between machines using SMTP. A message may involve several
MTAs as it moves to its intended destination. Most users are totally
unaware of the presence of MTAs, even though every email message is
sent through at least one MTA.
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 own configuration or network access to
the system running it.
Many of the larger and more complex MUAs can also be used to send
email. However, this action should not be confused with the actions of
a true MTA. In order for users not running their own MTA to move
outbound messages off of their machine and onto a remote machine for
delivery, they must use a capacity in the MUA that transfers the
message to an MTA they are authorized to use. However, the MUA does
not directly deliver the message to the intended recipient's email
server — that role is reserved for the MTA.
Red Hat Linux uses Sendmail as its default MTA, though others may be used in
its place.
 | Tip |
|---|
| | For information about how to switch the default MTA from Sendmail to
Postfix, see the chapter called Mail Transport Agent
(MTA) Configuration in the
Official Red Hat Linux Customization Guide.
|
Mail Delivery Agent
A Mail Delivery Agent (MDA) is used by the
MTA to deliver email to a particular user's mailbox. In many cases, an
MDA is actually a Local Delivery Agent (LDA),
such as /bin/mail or
procmail. However, Sendmail can also play the role
of an MDA, such as when it accepts a message for a local user and
appends it to their email spool file. Any program that actually
handles a message for delivery to the point where it can be read by an
MUA can be considered an MDA. Note that MDAs do not transport messages
between systems or interface with the end user.
Many users do not directly use MDAs, because only MTAs and MUAs are
necessary to send and receive email. However, some MDAs may be used to
sort messages before they are read by a user, which is a big help if
you receive a lot of email.