HTML 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.
Content-Type: multipart/alternative; boundary="=_nl_0001000000000000"
MIME-Version: 1.0
From: Brightside Cafe <news@brightside.example>
To: Sam Rivera <sam@meridiansupply.example>
Subject: =?utf-8?q?Brightside_Cafe_=E2=80=94_January_News?=
Date: Mon, 05 Jan 2026 08:00:00 -0800
Message-ID: <nl-2026-01@brightside.example>
List-Unsubscribe: <https://brightside.example/unsub>,
<mailto:unsub@brightside.example>
--=_nl_0001000000000000
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
QnJpZ2h0c2lkZSBDYWZlIOKAlCBKYW51YXJ5IE5ld3MKCk5ldyB3aW50ZXIgbWVudSwgZXh0ZW5k
ZWQgd2Vla2VuZCBob3VycywgYW5kIGEgbG95YWx0eSBkb3VibGUtcG9pbnRzIHdlZWsuClZpc2l0
IGJyaWdodHNpZGUuZXhhbXBsZSB0byByZWFkIG1vcmUuCgpVbnN1YnNjcmliZTogYnJpZ2h0c2lk
ZS5leGFtcGxlL3Vuc3ViCg==
--=_nl_0001000000000000
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
PGh0bWw+PGJvZHkgc3R5bGU9Im1hcmdpbjowO2ZvbnQtZmFtaWx5OkFyaWFsLHNhbnMtc2VyaWY7
YmFja2dyb3VuZDojZjRmNGY1Ij48dGFibGUgd2lkdGg9IjEwMCUiIGNlbGxwYWRkaW5nPSIwIiBj
ZWxsc3BhY2luZz0iMCI+PHRyPjx0ZCBhbGlnbj0iY2VudGVyIj48dGFibGUgd2lkdGg9IjU2MCIg
c3R5bGU9ImJhY2tncm91bmQ6I2ZmZiI+PHRyPjx0ZCBzdHlsZT0iYmFja2dyb3VuZDojMGU5ZDZi
O2NvbG9yOiNmZmY7cGFkZGluZzoyMHB4Ij48aDEgc3R5bGU9Im1hcmdpbjowO2ZvbnQtc2l6ZToy
MnB4Ij5CcmlnaHRzaWRlIENhZmU8L2gxPjxwIHN0eWxlPSJtYXJnaW46NHB4IDAgMCI+SmFudWFy
eSBOZXdzPC9wPjwvdGQ+PC90cj48dHI+PHRkIHN0eWxlPSJwYWRkaW5nOjIwcHg7Y29sb3I6IzE4
MTgxYiI+PGgyPk5ldyB3aW50ZXIgbWVudTwvaDI+PHA+U2Vhc29uYWwgZHJpbmtzIGFuZCBwYXN0
cmllcyBhcmUgYmFjay48L3A+PGgyPkV4dGVuZGVkIHdlZWtlbmQgaG91cnM8L2gyPjxwPk9wZW4g
dW50aWwgOHBtIEZyaWRheeKAk1N1bmRheS48L3A+PGgyPkRvdWJsZSBwb2ludHMgd2VlazwvaDI+
PHA+RWFybiAyw5cgbG95YWx0eSBwb2ludHMgYWxsIG5leHQgd2Vlay48L3A+PHA+PGEgaHJlZj0i
aHR0cHM6Ly9icmlnaHRzaWRlLmV4YW1wbGUiIHN0eWxlPSJjb2xvcjojMGU5ZDZiIj5SZWFkIG1v
cmUgJnJhcnI7PC9hPjwvcD48L3RkPjwvdHI+PHRyPjx0ZCBzdHlsZT0icGFkZGluZzoxNHB4O2Jh
Y2tncm91bmQ6I2Y0ZjRmNTtjb2xvcjojNzE3MTdhO2ZvbnQtc2l6ZToxMnB4Ij5Zb3UgYXJlIHJl
Y2VpdmluZyB0aGlzIHNhbXBsZSBuZXdzbGV0dGVyLiA8YSBocmVmPSJodHRwczovL2JyaWdodHNp
ZGUuZXhhbXBsZS91bnN1YiI+VW5zdWJzY3JpYmU8L2E+LjwvdGQ+PC90cj48L3RhYmxlPjwvdGQ+
PC90cj48L3RhYmxlPjwvYm9keT48L2h0bWw+
--=_nl_0001000000000000--
Specifications
- Structure
- multipart/alternative
- Parts
- text/plain + text/html
- Headers
- List-Unsubscribe
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("newsletter.eml", "rb"))
print(msg["subject"], msg["from"])Related files
- emlOrder Receipt Email (EML)An order-confirmation / receipt email (multipart/alternative) with an itemised order table in both text and HTML — a transactional-email fixture for testing parsing and data extraction.

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

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

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