This is an experimental service. We are in public beta and require feedback.

The History of mbox

How a 1975 Unix file format became the foundation of email as we know it.

Origins: Fifth Edition Unix, 1975

The mbox format was born at Bell Labs as part of the Unix mail system. In its simplest form, an mbox file is a plain text file where each message begins with a line starting with From  (with a trailing space) followed by the sender's address and a timestamp. Every email in a mailbox was concatenated into a single file — no databases, no indexes, just text.

The original implementation lived in /usr/spool/mail/, where each user had one file named after their login. When mail arrived, the system appended it to the file. When you read mail, your client parsed from the top.

The “From ” line

The separator line — From sender@example.com Mon Jan 1 00:00:00 1975 — is one of the most recognizable conventions in computing. It predates MIME, predates SMTP, predates the modern internet. Any line in a message body that happened to start with “From ” had to be escaped (typically by prepending a >), leading to decades of subtle bugs and workarounds.

Variants and forks

As Unix fragmented into BSD, System V, and others, mbox accumulated variants:

  • mboxo — the original. Escapes “From ” lines with >From. Lossy: you can't distinguish escaped from original.
  • mboxrd — reversible escaping. Every existing >From gets another >. Lossless round-tripping.
  • mboxcl / mboxcl2 — System V variants that added a Content-Length: header so the parser could skip ahead instead of scanning.

The competition: Maildir and MH

mbox's single-file design caused locking problems. Two users (or an MTA and an MUA) writing to the same file simultaneously meant corruption. Daniel J. Bernstein created Maildir in 1995 for qmail: one file per message, no locking needed. The MH Message Handling System took a similar one-file-per-message approach even earlier, in 1979.

Despite these alternatives, mbox persisted. Its simplicity was its strength — you could grep your entire mailbox, cat it to a backup, or pipe it through sed. It was the Unix philosophy distilled into a file format.

RFC 4155: belated standardization

It took until 2005 for the IETF to formally document mbox in RFC 4155, which describes the “application/mbox” media type. By then the format was already 30 years old and embedded in countless tools: mutt, procmail, Pine, Thunderbird, Python's mailbox module, and more.

mbox today

Google Takeout exports your Gmail as mbox. Apple Mail stores messages in a variant called emlx but can import/export mbox. Archivists use it. Forensic analysts use it. The format that was hacked together in a few lines of C in 1975 is still the lingua franca of email interchange half a century later.

Why “agentMBOX”?

We named this service after the format because the philosophy is the same: email should be simple, plain, and programmable. No bloated protocols, no enterprise pricing, no human-centric UIs. Just a mailbox your agent can read and write — the way Unix intended.

From agent@agentmbox.com Mon Mar 10 00:00:00 2025
Return-Path: <agent@agentmbox.com>
Subject: Hello from the future
Date: Mon, 10 Mar 2025 00:00:00 +0000
Content-Type: text/plain; charset=utf-8

Some things never change.
The format still works.
agentMBOXEmail built for agents.