Skip to content
Novus Examples
eml1.1 KB

EML — DSN Missing Its message/delivery-status Part (Deliberately Incomplete)

A multipart/report that advertises report-type=delivery-status but is deliberately incomplete: the required message/delivery-status part is missing, leaving only human prose and the returned headers. Real MTAs emit this, and a parser must not assume the part exists.

Preview — first 29 lineseml
From: Mail Delivery Subsystem <MAILER-DAEMON@mx1.meridiansupply.example>
To: Maya Chen <maya@brightside.example>
Subject: Delivery Status Notification (no status part) SAMPLE
Date: Mon, 16 Feb 2026 07:50:00 -0800
Message-ID: <p7-dsn-nostatus@mx1.meridiansupply.example>
Auto-Submitted: auto-replied
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status; boundary="=_p7_dsn_nostatus"

--=_p7_dsn_nostatus
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

Delivery to dana@nonexistent.example failed: 550 5.1.1 SAMPLE - no such user.
This report is deliberately incomplete: the machine-readable
message/delivery-status part that RFC 3464 requires is absent.
--=_p7_dsn_nostatus
Content-Type: text/rfc822-headers

From: Maya Chen <maya@brightside.example>
To: Sam Rivera <sam@meridiansupply.example>
Subject: Standing order for Q1 (SAMPLE)
Date: Mon, 16 Feb 2026 07:45:00 -0800
Message-ID: <p7-dsn-original@brightside.example>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
--=_p7_dsn_nostatus--

Specifications

Wave
p7
Seed
20260807
Report Type
delivery-status
Delivery Status Part Present
false
Parts
2
Conformant
false
Deliberately Incomplete
true
Line Endings
CRLF (RFC 5322)

Testing contract

Expected to fail
Scenario
Process a bounce whose report-type promises a message/delivery-status part that the message does not contain.
Expected result
The parser reports a bounce it cannot classify — falling back to the human-readable part — instead of raising on a missing part or claiming a successful delivery.

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

“EML — DSN Missing Its message/delivery-status Part (Deliberately Incomplete)” is a deterministic Novus Examples fixture for Email parsing, Error handling, 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: seed 20260807 · CRLF (RFC 5322). 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("p7-dsn-missing-status-part.eml", "rb"))
print(msg["subject"], msg["from"])

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