Skip to content
Novus Examples
eml2.2 KB

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.

Preview — first 45 lineseml
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"])

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