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.
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.
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"])Related files
- 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.

- emlHTML Newsletter Email (EML)An HTML newsletter email (multipart/alternative) with a table-based responsive layout and a List-Unsubscribe header — for testing HTML-email rendering, sanitising, and marketing-email parsing.

- mboxMBOX Mailbox — six-message threadA 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.

- mboxMBOX Mailbox (three-message thread)An mbox mailbox concatenating a short three-message email thread with the classic 'From ' separator lines and >From body escaping — for testing mailbox splitting and thread reconstruction.

- emlMeeting Invitation with iCalendar (EML)A meeting-invitation email carrying an iCalendar (.ics) VEVENT with METHOD=REQUEST — for testing calendar-invite detection, ICS extraction, and RSVP handling.

- emlMultipart Email — Text + HTML (EML)A multipart/alternative email carrying both a plain-text and an HTML body — for testing MIME part selection, HTML-part handling and sanitising, and multipart parsing.

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