Personal tools
You are here: Home User Contributed Files email
Document Actions


by Neil Schneider last modified 2005-05-02 02:19

Presentation on the parts of an email system, MTA, MUA, LDA etc. explained.

What are RFCs?

The Internet Request For Comments (or RFC) documents are the written definitions of the protocols and policies of the Internet. Informational RFC's are called "FYI's" short for For Your Information. These documents are available on the World Wide Web essential reading for understanding how the Net works.

What is an MTA?

Mail Transport Agent. Mail transport agents are the software that transfers mail from your local system to remote systems.


BSD sendmail is the grandaddy of Internet MTAs. It has outlasted a few would-be successors. Most Linux distributions now use it and have it preinstalled.


Smail was the first serious attempt to replace sendmail. It has a simpler and much more comprehensible configuration system than sendmail's, and it's fairly secure. Some Linux distributions preinstall it rather than sendmail.


The qmail program is a sendmail-compatible MTA designed specifically for high security. The author has a standing reward of $500 for publication of the first verifiable security hole; this reward has gone unclaimed since March 1997.


The exim program is similar to smail3, but with more features. It advertises particular strengths in spam-blocking and support of several virtual hosts (virtual DNS domains) on the same host.


Postfix attempts to be fast, easy to administer, and secure, while at the same time being sendmail compatible enough to not upset existing users. Thus, the outside has a sendmail-ish flavor, but the inside is completely different.

What is an LDA?

The Local Delivery Agent is responsible for moving the mail into the user's mailbox.

What is a Notifier?

A notifier is a kind of program that watches your mail in-box and signals when new mail arrives.

What is a MUA?

The Mail User Agent is what users think of as `the mailer'; it helps her compose the message, usually by calling out to a text editor of her choice.

Some Mail User Agents


PineĀ® - a Program for Internet News & Email - is a tool for reading, sending, and managing electronic messages. Pine was designed by the Office of Computing & Communications at the University of Washington specifically with novice computer users in mind, but it can be tailored to accommodate the needs of power users as well.


Mutt is a Mail User Agent (MUA) for Unix. It is a descendant of ELM, borrowing ideas from other MUAs, like PINE and Mush. Right now it's a text mode application, not an X program. But that might change one day.


While various UNIX utilities have been designed to take advantage of the CRT screen (rather than line-oriented systems) electronic mail systems haven't caught the wave. This document presents Elm, a sophisticated full-screen mail system for interactive use. Elm offers all the features of /bin/mail, Berkeley Mail, uumail, NMail and the AT&T Mail family of UNIX mailers (namely PMX/TERM) in a unified and intuitive fashion.


TkRat is a graphical Mail User Agent which works in an X11-environment.


KMail is a fully-featured email client that fits nicely into the K Desktop Environment, KDE. It has features such as support for filters, PGP/GnuPG privacy, inline attachments, drag and drop support of messages and attachments and support for multiple POP3 accounts.


Balsa is a GNOME email client. It supports mbox, maildir, and mh local mailboxes, and IMAP4 and POP3 remote mailboxes. You can send mail via sendmail or SMTP. Optional multithreading support allows for non-instrusive retrieval and sending of mail. A finished GUI similar to that of Eudora lets you view images inline, save message parts, view headers, add attachments, move messages, print messages, and just about anything you would expect in a robust mail client.


Sylpheed is an e-mail client (& news reader) based on GTK+, running on X Window System.

Remote mail and remote-mail protocols

Some users get their mail from a remote server, such as their ISP's and don't have their own mail server. Their mail is delivered to a mailbox on the remote server. Typically these users want to read and reply to the mail on their local computer, which may be connected to the remote server intermittently through PPP or some other connection.

A remote mail protocol allows the mail in the remote server to be pulled across the network by some program using one of the remote mail protocols POP3 and IMAP. Many Mail User Agents have support for one or both remote mail protocols built in.


Fetchmail is a program designed to retrieve mail from a POP3 or IMAP server and then deliver it through the local SMTP listener. Fetchmail can be run in the background, or from a cron job, polling the server periodically to get whatever mail is in your remote mailbox. Since it uses your local SMTP listener, you can filter through programs like procmail, and use your local mail-notifier.


Procmail can be used to create mail-servers, mailing lists, sort your incoming mail into separate folders/files (real convenient when subscribing to one or more mailing lists or for prioritising your mail), preprocess your mail, start any programs upon mail arrival (e.g. to generate different chimes on your workstation for different types of mail) or selectively forward certain incoming mail automatically to someone.

The current version of procmail is 3.21.

Procmail Links

Era Eriksson's Procmail Mini-FAQ

Jari Aalto's Procmail resources

Timo Salmi's procmail tips and recipes

Some RFCs for Mail

Post Office Protocol - Version 3

SMTP Service Extensions



MIME (Multipurpose Internet Mail Extensions) Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies

SMTP Service Extension for Message Size Declaration

How mail works

The SMTP design is based on the following model of communication: as the result of a user mail request, the sender-SMTP establishes a two-way transmission channel to a receiver-SMTP. The receiver-SMTP may be either the ultimate destination or an intermediate. SMTP commands are generated by the sender-SMTP and sent to the receiver-SMTP. SMTP replies are sent from the receiver-SMTP to the sender-SMTP in response to the commands.

Once the transmission channel is established, the SMTP-sender sends a MAIL command indicating the sender of the mail.

MAIL From: <>

If the SMTP-receiver can accept mail it responds with an OK reply. The SMTP-sender then sends a RCPT command identifying a recipient of the mail.


If the SMTP-receiver can accept mail for that recipient it responds with an OK reply; if not, it responds with a reply rejecting that recipient (but not the whole mail transaction). The SMTP-sender and SMTP-receiver may negotiate several recipients. When the recipients have been negotiated the SMTP-sender sends the mail data, terminating with a special sequence.

Here's my message................................

If the SMTP-receiver successfully processes the mail data it responds with an OK reply. The dialog is purposely lock-step, one-at-a-time.

Example of the SMTP Procedure

 S: MAIL FROM:<Smith@Alpha.ARPA>
 R: 250 OK
 S: RCPT TO:<Jones@Beta.ARPA>
 R: 250 OK
 S: RCPT TO:<Green@Beta.ARPA>
 R: 550 No such user here
 S: RCPT TO:<Brown@Beta.ARPA>
 R: 250 OK
 R: 354 Start mail input; end with <CRLF><CRLF>
 S: Blah blah blah
 S: ....etc. etc. etc.
 R: 250 OK

The mail has now been accepted for Jones and Brown. Green did not have a mailbox at host Beta.

« June 2020 »
Su Mo Tu We Th Fr Sa
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: