MBOX Mailbox — six-message thread
A larger mbox mailbox with a six-message back-and-forth thread — for testing mailbox splitting, thread reconstruction, and pagination over more than a couple of messages.
From maya@brightside.example Mon Jan 12 09:00:00 2026
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
From: Maya Chen <maya@brightside.example>
To: Sam Rivera <sam@meridiansupply.example>
Subject: Standing order for Q1
Date: Mon, 12 Jan 2026 09:00:00 -0800
Message-ID: <q1-1@brightside.example>
SGkgU2FtLAoKQ2FuIHdlIHNldCB1cCBhIHN0YW5kaW5nIG1vbnRobHkgb3JkZXIgZm9yIFExPwoK
TWF5YQo=
From sam@meridiansupply.example Mon Jan 12 09:00:00 2026
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
From: Sam Rivera <sam@meridiansupply.example>
To: Maya Chen <maya@brightside.example>
Subject: Re: Standing order for Q1
Date: Mon, 12 Jan 2026 10:30:00 -0800
Message-ID: <q1-2@brightside.example>
SGkgTWF5YSwKClN1cmUg4oCUIHNhbWUgaXRlbXMgYXMgRGVjZW1iZXI/CgpTYW0K
From maya@brightside.example Mon Jan 12 09:00:00 2026
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
From: Maya Chen <maya@brightside.example>
To: Sam Rivera <sam@meridiansupply.example>
Subject: Re: Standing order for Q1
Date: Mon, 12 Jan 2026 11:15:00 -0800
Message-ID: <q1-3@brightside.example>
WWVzLCBwbHVzIGFuIGV4dHJhIGNhc2Ugb2YgbmFwa2lucy4KTWF5YQo=
From sam@meridiansupply.example Mon Jan 12 09:00:00 2026
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
From: Sam Rivera <sam@meridiansupply.example>
To: Maya Chen <maya@brightside.example>
Subject: Re: Standing order for Q1
Date: Mon, 12 Jan 2026 13:00:00 -0800
Message-ID: <q1-4@brightside.example>
R290IGl0LiBJJ2xsIHNlbmQgdGhlIHF1b3RlIHRoaXMgYWZ0ZXJub29uLgpTYW0K
From maya@brightside.example Mon Jan 12 09:00:00 2026Specifications
- Format
- mbox (mboxo)
- Messages
- 6
- Separators
- 'From ' lines
- Escaping
- >From
What is a .mbox file?
An MBOX file is a mailbox that stores many email messages concatenated into one plain-text file, each message preceded by a 'From ' separator line. It is the classic Unix mailbox format used by many mail clients for export and archival.
How to use this file
Use an example MBOX to test mailbox splitting, message boundary detection, thread reconstruction, and import into a mail client or parser.
How to use this file for testing
“MBOX Mailbox — six-message thread” is a deterministic Novus Examples fixture for Email parsing, Conversion testing. Standards-compliant RFC 822 messages — plain, multipart text+HTML, and with an attachment — plus an MBOX mailbox, for testing header parsing, MIME decoding, attachment extraction, and mailbox splitting.
Documented properties for this file: 6 messages · mbox (mboxo). Compare results against paired or grouped companions on this page when present (clean↔damaged, searchable↔scanned, or format twins) so scores stay reproducible across runs.
Download the file once, keep the path stable in CI or local scripts, and treat the spec table as the contract: dimensions, seeds, field lists, and roles are intentional. Corrupt or invalid samples are labelled as such — expect parsers to fail loudly rather than silently accept them.
Email fixtures use fixed dates, message IDs, and MIME boundaries so runs are reproducible, and every address is fictional. Test header parsing, MIME decoding, attachment extraction, and EML/MBOX conversion against the documented structure.
Code examples
import mailbox
for msg in mailbox.mbox("q1-thread.mbox"):
print(msg["subject"])Related files
- mboxMBOX — Thread Plus Its Bounce, With mboxrd EscapingThree messages in one mailbox: an original whose body contains both a bare "From " line and an already-escaped ">From " line, the reply that threads to it, and the multipart/report bounce that reply triggered. mboxrd escaping is what makes the round trip lossless.

- emlBounce / Non-Delivery Report (EML)A bounce / non-delivery report (NDR) — a multipart/report message with a human-readable notice, a message/delivery-status part, and the original headers — for testing bounce parsing and delivery-status extraction.

- emlEmail with Attachment (EML)A multipart/mixed email with a base64-encoded CSV file attachment — for testing attachment detection, decoding, and extraction from an EML message.

- emlEML — 1,024-Octet Header Line With No Fold PointA single header whose value is one 1,001-character token with no whitespace, making the line 1,024 octets — past the 998-octet limit RFC 5322 sets and impossible to fold. Fixed-size line buffers truncate here, and the truncation is silent.

- emlEML — Attachment With No Filename At AllAn attachment with a bare Content-Disposition: attachment and no name in either header. A client has to invent a filename, and the extension it invents decides whether the saved file opens as a spreadsheet or as unknown binary.

- emlEML — Base64: Accented UTF-8 BodyA base64 text/plain message in utf-8 carrying the identical body to the quoted-printable twin beside it. Base64 is opaque to whitespace and line-start characters, so it is the reference side of the pair when a QP decoder is suspect.

Generated by generation/email_extra.py. Free for any use, no attribution required — license.