UserPreferences

ApplicationNotes/EmailSystems


1. Understanding E-mail Systems

1.1. Introduction

Understanding E-mail Systems attempts to explain how e-mail works.

1.2. Common Layers

These acronyms describe the layers at which e-mail systems work and the responsibilities of each.

1.2.1. MTA

MTA stands for Mail Transfer Agent. This is typically an SMTP server, like Sendmail or Postfix. Actually this is part of an SMTP server; most include also an LDA and other layers. The MTA is responsible for routing and delivering mail, usually using SMTP, although it will sometimes gateway to UUCP or other non-Internet protocols.

1.2.2. MUA

MUA stands for Mail User Agent. This is typically the end-user's e-mail client, like Mozilla Mail, Evolution, Mutt, Pine or Outlook, although it could also be a program that collects mail and does something with it. The MUA can either read an mbox or Maildir file directly, or retrieve messages via POP3 or IMAP.

1.2.3. LDA

LDA stands for Local Delivery Agent. This is the bridge between MTA and local storage, where the MUA can access it. It may pass through an MPA. The MTA usually includes at least a minimal LDA. Examples of LDAs include procmail, Cyrus IMAP's deliver. Sometimes LMTP is the protocol used for the MTA to deliver into the LDA.

1.2.4. MPA

MPA stands for Mail Presentation Agent. This is a rarely-used acronym to describe a part of the e-mail system that is usually between the MUA and the LDA. Generally this is the POP3 or IMAP server. In some cases, there isn't really an MPA, because the LDA delivers to an mbox or Maildir folder and the MUA accesses it directly.

1.3. Examples

1.3.1. Example 1

Customer A using Mozilla Mail from ISP A sends a message to customer B using Evolution through ISP B.

Customer A composes and sends a message from Mozilla Mail. His Mozilla is configured to submit messages through SMTP to smtp.ispA.com. smtp.ispA.com is a Postfix server, which receives the message through SMTP and queues it. smtp.ispA.com checks it's ...

1.4. Common Terms and Applications

1.4.1. mbox

mbox is a mailbox format where all the messages are stored in one file. Each message is concatenated to this file; messages are separated by a blank line and a line starting with a special 'From ' line. If a the message body contains a line that starts with 'Form ', it is escaped by prepending a '>'. This is the default mailbox storage format for a lot of basic UNIX MUAs and LDAs. It's simple, but scales poorly and is easy to corrupt.