Penguin
Note: You are viewing an old revision of this page. View the current version.

A MailBox is a logical container for mail.

There are many different physical formats for MailBoxes, which typically use some variation on the following schemes:

A FlatFile
MBox is the most common example of this, where all the messages in a MailBox are encoded into a single file.
One file per Email
MH, and MailDir are common examples of this scheme, where the mailbox is a directory, and each message is encoded as a single file.
A DataBase
MicrosoftExchange does this, as well as DBMail on Unix. It is often the backend of choice for WebMail systems, as well.

There are, of course hybrid approaches, and, of course most of these approaches have various workarounds (indexing, offset tables, header cache files) to overcome the performance problems that they each suffer from. Alas, all of these workarounds and differing approaches tend to be application specific, which makes the vanilla formats more practical most of the time.

For a comparasion of several different schemes, have a read of http://www.washington.edu/imap/documentation/formats.txt.html, or for an even more subjective "discussion", http://slashdot.org/article.pl?sid=01/01/27/0138202 ;)