Provided by: mutt_2.2.12-0.1build4_amd64 bug

NAME

       mbox - Format for mail message storage.

DESCRIPTION

       This document describes the format traditionally used by Unix hosts to store mail messages locally.  mbox
       files  typically  reside  in the system's mail spool, under various names in users' Mail directories, and
       under the name mbox in users' home directories.

       An mbox is a text file containing an arbitrary number of e-mail messages.  Each  message  consists  of  a
       postmark,  followed by an e-mail message formatted according to RFC822, RFC2822. The file format is line-
       oriented. Lines are separated by line feed characters (ASCII 10).

       A postmark line consists of the four characters "From", followed by a space character,  followed  by  the
       message's  envelope  sender  address,  followed by whitespace, and followed by a time stamp. This line is
       often called From_ line.

       The sender address is expected to be addr-spec as defined in RFC2822 3.4.1. The date is  expected  to  be
       date-time  as  output  by  asctime(3).   For  compatibility reasons with legacy software, two-digit years
       greater than or equal to 70 should be interpreted as the years 1970+, while two-digit years less than  70
       should  be  interpreted  as  the  years  2000-2069.  Software reading files in this format should also be
       prepared to accept non-numeric timezone information such as "CET DST" for Central European Time, daylight
       saving time.

       Example:

        >From example@example.com Fri Jun 23 02:56:55 2000

       In order to avoid misinterpretation of lines in message bodies  which  begin  with  the  four  characters
       "From",  followed  by  a space character, the mail delivery agent must quote any occurrence of "From " at
       the start of a body line.

       There are two different quoting schemes, the first (MBOXO) only quotes plain "From " lines in the body by
       prepending a '>' to the line; the second (MBOXRD) also quotes already quoted "From " lines by  prepending
       a '>' (i.e. ">From ", ">>From ", ...). The later has the advantage that lines like

        >From the command line you can use the '-p' option

       aren't dequoted wrongly as a MBOXRD-MDA would turn the line into

        >>From the command line you can use the '-p' option

       before  storing  it.  Besides  MBOXO  and  MBOXRD  there  is  also MBOXCL which is MBOXO with a "Content-
       Length:"-field with the number of bytes in the message body; some MUAs (like  mutt(1))  do  automatically
       transform  MBOXO  mailboxes  into MBOXCL ones when ever they write them back as MBOXCL can be read by any
       MBOXO-MUA without any problems.

       If the modification-time (usually determined via stat(2)) of a nonempty mbox file  is  greater  than  the
       access-time  the  file  has  new mail. Many MUAs place a Status: header in each message to indicate which
       messages have already been read.

LOCKING

       Since mbox files are frequently accessed by multiple programs in parallel, mbox  files  should  generally
       not be accessed without locking.

       Three different locking mechanisms (and combinations thereof) are in general use:

       •      fcntl(2) locking is mostly used on recent, POSIX-compliant systems. Use of this locking method is,
              in  particular,  advisable if mbox files are accessed through the Network File System (NFS), since
              it seems the only way to reliably invalidate NFS clients' caches.

       •      flock(2) locking is mostly used on BSD-based systems.

       •      Dotlocking is used on all kinds of systems. In order  to  lock  an  mbox  file  named  folder,  an
              application first creates a temporary file with a unique name in the directory in which the folder
              resides.  The  application  then  tries to use the link(2) system call to create a hard link named
              folder.lock to the temporary file. The success of the link(2) system call should  be  additionally
              verified  using stat(2) calls. If the link has succeeded, the mail folder is considered dotlocked.
              The temporary file can then safely be unlinked.

              In order to release the lock, an application just unlinks the folder.lock file.

       If multiple methods are combined, implementors should make sure to use the non-blocking variants  of  the
       fcntl(2) and flock(2) system calls in order to avoid deadlocks.

       If  multiple  methods  are combined, an mbox file must not be considered to have been successfully locked
       before all individual locks were  obtained.  When  one  of  the  individual  locking  methods  fails,  an
       application  should  release all locks it acquired successfully, and restart the entire locking procedure
       from the beginning, after a suitable delay.

       The locking mechanism used on a particular system is a matter of local policy, and should be consistently
       used by all applications installed on the system which access mbox files. Failure to do so may result  in
       loss of e-mail data, and in corrupted mbox files.

FILES

       /var/spool/mail/$LOGNAME
              $LOGNAME's incoming mail folder.

       $HOME/mbox
              user's archived mail messages, in his $HOME directory.

       $HOME/Mail/
              A directory in user's $HOME directory which is commonly used to hold mbox format folders.

SEE ALSO

       mutt(1), fcntl(2), flock(2), link(2), stat(2), asctime(3), maildir(5), mmdf(5), RFC822, RFC976, RFC2822

AUTHOR

       Thomas Roessler <roessler@does-not-exist.org>, Urs Janssen <urs@tin.org>

HISTORY

       The mbox format occurred in Version 6 AT&T Unix.
       A variant of this format was documented in RFC976.

Unix                                           February 19th, 2002                                       mbox(5)