Mbox
From Wikipedia, the free encyclopedia
- For MBox, the computer-based recording hardware system, see Pro Tools.
- The correct title of this article is mbox. The initial letter is shown capitalized due to technical restrictions.
mbox is a generic term for a family of related file formats used for holding collections of electronic mail messages. All messages in an mbox mailbox are concatenated and stored in a single file. The beginning of each message is indicated by a line whose first five characters are "From " (the so-called "From_ line" or "'From ' line") and a blank line is appended to the end of each message. For a while, the mbox format was popular because text processing tools can be readily used on the plain text files used to store the e-mail messages.
Unlike the Internet protocols used for the exchange of e-mail, the format used for the storage of e-mail has never been formally defined through the RFC standardization mechanism and has been entirely left to the developer of an e-mail client.
Contents |
[edit] Family
The mbox family comprises four main different and incompatible formats: mboxo, mboxrd, mboxcl, and mboxcl2. The naming scheme was developed by Daniel J. Bernstein, Rahul Dhesi, and others in 1996. Each originated from a different versions of Unix. mboxcl and mboxcl2 originated from the file format used by Unix System V Release 4 mail tools. mboxrd was invented by Rahul Dhesi et al. as a rationalisation of mboxo and subsequently adopted by some Unix mail tools including qmail.
mboxo and mboxrd locate the message start by scanning for From lines that are typically found in the e-mail message header. If the "From " string occurs at the beginning of a line in either the headers or the body of a message (unlikely for the former for correctly formatted messages, but likely for the latter), the e-mail message must be modified before the message is stored in an mbox mailbox file or the line will be taken as a message boundary. This is typically done by prepending a greater-than sign.
[edit] Modified mbox
Some e-mail clients use a modification of the mbox format for their mail folders.
- Eudora uses an mboxo variation where a sender's e-mail address is replaced by the constant string "???@???".
- The Mozilla family of MUAs (Mozilla, Netscape, Thunderbird, et al.) use an mboxrd variation with more complex From line quoting rules.
[edit] File locking issue
Various mutually incompatibile mechanisms have been used by different mbox formats to enable message file locking including fcntl(), lockf(), and "dot locking". This can be an issue with network mounted file systems such as the Network File System (NFS).
Because more than one message is stored in a single file, some form of file locking is needed to avoid the corruption that can result from two or more processes modifying the mailbox simultaneously. This could happen if a network e-mail delivery program delivers a new message at the same time as a mail reader is deleting an existing message.
[edit] Limitations
mbox stores mailbox messages in their original Internet Message (RFC 2822) format, in an area directly accessible to users. A similar format is the MH Message Handling System. Other systems, such as Microsoft Exchange Server and the Cyrus IMAP server store mailboxes in centralised databases managed by the mail system and not directly accessible by individual users.
The rise of Unicode vs. ASCII for text representation presents another area in which the mbox format is showing its age. However, through MIME character encodings such as UTF-8, the Internet Message Format can encode Unicode data quite simply (and in less space than a UTF-16 mailbox format would).
The maildir mailbox format is often cited as an alternative to the mbox format for network e-mail storage systems.
[edit] See also
[edit] External links
- Jonathan de Boyne Pollard ("'mbox' is a family of several mutually incompatible mailbox formats.")
- qmail mbox manual page
- Internet Mail Consortium - Standards body
- mbox format specification and variations
- Mbox2eml - Java program for opening and viewing mailboxes in mbox format; allows saving of individual messages or attachments