On 12/13/18 10:05 PM, Patrick Shanahan wrote:

mbox still serves my needs and has never failed me.  why would I want to
invest time and effort to change to something (anything) else?  maildir
does not "work better" as I can see.

If mbox works for the way you use it, there's no need to change.

I dislike mbox because it's a bad design, and has many variants that are partially incompatible and more or less indistinguishable. In practice, used certain ways, mbox sometimes loses messages.

Trouble arises mostly when an mbox file is read and written by multiple programs, because they might implement different variants of it. I can believe that your mbox files work all right if they're only used by Mutt.

Mbox stores multiple RFC 822 messages in a single file. RFC 822 doesn't include a way to say where a message ends, so mbox has to do that. Mbox does that poorly, and in many different ways. That's the problem.

Mbox doesn't mark the end of each message; the end is implied by the beginning of the next message, identified by the control line mbox puts before each message, which starts with "From ". Unfortunately, there are many syntaxes for that From_ line. A message line can also start with "From ", so a message line like that is escaped, by changing it to ">From " -- with any of three different algorithms, or sometimes not at all. Sometimes all this is combined with either or both of Lines: and Content-Length:, both invented for mbox, neither standardized.

As others have said, there are tradeoffs between a single file of messages and multiple files, but that's not specific to mbox format. Any single sequential file, mbox or some other format, would be well suited to import/export, file transfer, and archives, and poorly suited to random access and concurrent access.

I'm not saying anything against Mutt. In fact, from my limited knowledge, Mutt's implementation of mbox seems pretty solid. The problem is the design of the file format, which came from elsewhere, long before Mutt existed.

Reply via email to