\section{\module{mailbox} --- Read various mailbox formats} \declaremodule{standard}{mailbox} \modulesynopsis{Read various mailbox formats.} This module defines a number of classes that allow easy and uniform access to mail messages in a (\UNIX{}) mailbox. \begin{classdesc}{UnixMailbox}{fp} Access a classic \UNIX{}-style mailbox, where all messages are contained in a single file and separated by ``From name time'' lines. The file object \var{fp} points to the mailbox file. \end{classdesc} \begin{classdesc}{MmdfMailbox}{fp} Access an MMDF-style mailbox, where all messages are contained in a single file and separated by lines consisting of 4 control-A characters. The file object \var{fp} points to the mailbox file. \end{classdesc} \begin{classdesc}{MHMailbox}{dirname} Access an MH mailbox, a directory with each message in a separate file with a numeric name. The name of the mailbox directory is passed in \var{dirname}. \end{classdesc} \begin{classdesc}{Maildir}{dirname} Access a Qmail mail directory. All new and current mail for the mailbox specified by \var{dirname} is made available. \end{classdesc} \begin{classdesc}{BabylMailbox}{fp} Access a Babyl mailbox, which is similar to an MMDF mailbox. Mail messages start with a line containing only \code{'*** EOOH ***'} and end with a line containing only \code{'\037\014'}. \end{classdesc} \subsection{Mailbox Objects \label{mailbox-objects}} All implementations of Mailbox objects have one externally visible method: \begin{methoddesc}[mailbox]{next}{} Return the next message in the mailbox, as a \class{rfc822.Message} object. Depending on the mailbox implementation the \var{fp} attribute of this object may be a true file object or a class instance simulating a file object, taking care of things like message boundaries if multiple mail messages are contained in a single file, etc. \end{methoddesc}