Skip to content
Novus Examples
eml1.5 KB

Bounce / 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.

Preview — first 45 lineseml
MIME-Version: 1.0
Content-Type: multipart/report; boundary="=_bn_0004000000000000";
 report-type="delivery-status"
From: Mail Delivery System <MAILER-DAEMON@meridiansupply.example>
To: sam@meridiansupply.example
Subject: Undelivered Mail Returned to Sender
Date: Wed, 07 Jan 2026 10:00:05 -0800
Message-ID: <bounce-9981@meridiansupply.example>

--=_bn_0004000000000000
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64

VGhpcyBpcyB0aGUgbWFpbCBzeXN0ZW0gYXQgaG9zdCBtYWlsLm1lcmlkaWFuc3VwcGx5LmV4YW1w
bGUuCgpJJ20gc29ycnkgdG8gaGF2ZSB0byBpbmZvcm0geW91IHRoYXQgeW91ciBtZXNzYWdlIGNv
dWxkIG5vdCBiZSBkZWxpdmVyZWQKdG8gb25lIG9yIG1vcmUgcmVjaXBpZW50cy4gVGhlIGVycm9y
IGlzIHNob3duIGJlbG93LgoKICA8bm9ib2R5QG5vbmV4aXN0ZW50LmV4YW1wbGU+OiBob3N0IG14
Lm5vbmV4aXN0ZW50LmV4YW1wbGUgc2FpZDoKICA1NTAgNS4xLjEgVGhlIGVtYWlsIGFjY291bnQg
dGhhdCB5b3UgdHJpZWQgdG8gcmVhY2ggZG9lcyBub3QgZXhpc3QuCg==

--=_bn_0004000000000000
Content-Type: message/delivery-status
MIME-Version: 1.0

Reporting-MTA: dns; mail.meridiansupply.example
Arrival-Date: Wed, 07 Jan 2026 10:00:00 -0800

Final-Recipient: rfc822; nobody@nonexistent.example
Action: failed
Status: 5.1.1
Diagnostic-Code: smtp; 550 5.1.1 recipient does not exist

--=_bn_0004000000000000
Content-Type: text/rfc822-headers
MIME-Version: 1.0

From: Sam Rivera <sam@meridiansupply.example>
To: nobody@nonexistent.example
Subject: Order update
Date: Wed, 07 Jan 2026 09:59:00 -0800
Message-ID: <orig-9981@meridiansupply.example>

--=_bn_0004000000000000--

Specifications

Structure
multipart/report; report-type=delivery-status
Status
5.1.1 (recipient unknown)

What is a .eml file?

An EML file is a single email message stored in the RFC 822 / MIME format — plain-text headers (From, To, Subject, Date, Message-ID) followed by the body, which may be plain text, HTML, or a multipart structure with alternative bodies and file attachments encoded in base64.

How to use this file

Use an example EML to test email header parsing, MIME decoding, HTML-part handling, attachment extraction, and EML-to-other-format conversion.

How to use this file for testing

“Bounce / Non-Delivery Report (EML)” 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: multipart/report; report-type=delivery-status. 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

from email import policy
from email.parser import BytesParser

msg = BytesParser(policy=policy.default).parse(open("bounce-ndr.eml", "rb"))
print(msg["subject"], msg["from"])

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