EML — CID Inline Image
A multipart/related message with an HTML body referencing a CID-inline PNG — for email client and MIME parser tests.
Content-Type: multipart/related; boundary="=_cid_related_0001"
MIME-Version: 1.0
From: Brightside Cafe <news@brightside.example>
To: Sam Rivera <sam@meridiansupply.example>
Subject: Your loyalty badge
Date: Tue, 06 Jan 2026 10:00:00 -0800
Message-ID: <cid-badge@brightside.example>
--=_cid_related_0001
Content-Type: multipart/alternative; boundary="=_cid_alt_0001"
MIME-Version: 1.0
--=_cid_alt_0001
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
WW91ciBsb3lhbHR5IGJhZGdlIGlzIGF0dGFjaGVkIGlubGluZS4K
--=_cid_alt_0001
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
PGh0bWw+PGJvZHk+PHA+WW91ciBsb3lhbHR5IGJhZGdlOjwvcD48aW1nIHNyYz0iY2lkOmJhZGdl
QGJyaWdodHNpZGUuZXhhbXBsZSIgYWx0PSJiYWRnZSIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0Ii8+
PC9ib2R5PjwvaHRtbD4=
--=_cid_alt_0001--
--=_cid_related_0001
Content-Type: image/png
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-ID: <badge@brightside.example>
Content-Disposition: inline; filename="badge.png"
iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAABd0lEQVR4nO3aMS9DURjG8b+nl5GV
wciuM3bKN5BIrCRisLCwdDE0pCuJxCeQXN0MwkIxMKmEMJSarKqNcEWaCIYmvfdp/KZzzz3n5L55
33Nyh9PRvTmLM2FOmBPmhDlhTpgT5oKfXjzP5EmYnq25NsyAaNcS+j1xrfT8azHbZ0CYE+aEOWFO
mBPmhDlhTpgT5kTb/8z95HE6V6zcZgrr0eP91Fr/ziLwMJ07fbqNOgt3F/nLfZIZwEvtNSUN9w0c
lkuN/dXaa2bvM6qkl1D2LFwayhArNTP5oHwFjPQNEp+gyfnZ83A5PTEWvkcS6UwF4fh81F4t7h5X
bkhyAIflUr1eH21IgtMeiGTPw6V0bDshaH6Jo4frar3WlQq+l9BJ5WaluEsyA+j/OPUjk4WNr3bv
9gItJMwJc8KcMCfMCXPCnDAnzAlzwpwwJ8wJc8KcMCfMCXPCnDAnzAV/jkjgtZW2yoAw1/F/8TVm
wpwwJ8wJc4r7A5r1BjSqVRvaVv2eAAAAAElFTkSuQmCC
--=_cid_related_0001--
Specifications
- Structure
- multipart/related + alternative + image/png
- Cid
- badge@brightside.example
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 — CID Inline Image” 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/related + alternative + image/png. 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("cid-inline-badge.eml", "rb"))
print(msg["subject"], msg["from"])Related files
- emlEML — HTML Only (No Plain Alternative)A single-part text/html email with no text/plain alternative — edge case for clients that require multipart/alternative.

- emlEML — Nested MultipartNested MIME (mixed wrapping alternative plus a text attachment) — for deep MIME tree walkers.

- 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 — Calendar Invite (REQUEST)RFC 822 message with a text/calendar REQUEST attachment — for calendar invite importers.

- emlEML — Calendar Invite Cancel (CANCEL)Cancel twin for the SAMPLE calendar invite — same UID, SEQUENCE bumped, METHOD=CANCEL.

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