Connected: An Internet Encyclopedia
Mail

Up: Connected: An Internet Encyclopedia
Up: Topics
Up: Software
Prev: Perl
Next: Network Management

Mail

Mail Mail software can be generally divided into two categories: Mail Transfer Agents (MTAs) and Mail User Agents (MUAs). An MTA is a program that relays messages between machines. An MUA is a client program responsible for interacting with the user.

An exhaustive list of mail programs would be so large as to be meaningless. For example, the Univerisity of Washington's IMAP Connection maintains a list of products that support the IMAP Protocol. At the time of this writing (March 1999), more than 50 MTAs and 100 MUAs are listed - and this only for the IMAP protocol. Another good source of information is Yahoo's Electronic Mail page.

Mail Transfer Agents

Sendmail is the probably the most widely-used UNIX Internet MTA. Other UNIX Internet mail packages are often designed to operate much like sendmail. At its core, Sendmail is a SMTP server that accepts email messages via network connections, then processes them according to a bizarre series of rewrite rules, which I won't dare to touch on here. Based on each message's destination address, the configured rewrite rules, and perhaps the phase of the moon (sendmail is a notoriously complex program), the message can be relayed to another machine via SMTP, queued for later delivery if the remote machine is not responding, passed to another program, or filed in a local mail file. The program can also run standalone, accepting email over standard input. Sendmail operates in push mode, connecting to remote sites when it has mail to deliver to them.

Another major UNIX MTA is fetchmail. Fetchmail operates in pull mode, connecting to remote sites, using POP or IMAP to retreive mail queued there, and relaying it to another MTA, usually a local sendmail. Fetchmail is a important component of mail configurations that, for security, connectivity, or other reasons, can not rely on inbound SMTP connections to deliver mail.

An important type of MTA is the anonymous remailer. Remailers forward messages after stripping off various headers that would identify the sender, creating an anonymous email that (in theory) can't be traced back to its sender. The use of public key cryptography allows email messages to sent with an encrypted return address, which only the remailer can decode. The recipient of such a message can reply back to the sender (via the remailer), but can't determine the sender's actual email address. For more information, see the Anonymous Remailers page in the WWW Virtual Library.

Another class of MTA is the automated mailing list manager, such as Majordomo. These MTAs, generally operating as program invoked from Sendmail, take incoming mail messages, duplicate them, and relay them to a list of mailing list subscribers. Majordomo is capable of automating the process of subscribing and unsubscribing mailing list members, and configuring a variety of mailing list styles.

Mail User Agents

MUAs retrieve, parse, and present incomming mail, and format and transmit outgoing mail. The original UNIX MUAs expected incoming email messages to be placed in a special file by the MTA(s), and ran an MTA program directly to send outgoing mail. Most newer MUAs attempt to maintain backwards compatibility with this design, at some cost in complexity. More modern MUA design use networking protocols such as IMAP to access mailboxes, and SMTP to send messages.

Two common text-based UNIX MUAs are Pine and Elm. An major disadvantage of text-based MUAs are their inability to display MIME messages with embedded graphics.

Eudora is a major commercial, Windows-based MUA.


Next: Network Management

Connected: An Internet Encyclopedia
Mail