Skip to content
Novus Examples
eml537 B

EML — Quoted-Printable: Trailing Whitespace

A quoted-printable text/plain message in utf-8 whose body ends lines with spaces and tabs that quoted-printable must encode as =20 and =09. It is the exact twin of the base64 message beside it: both decode to the same 193 octets, so a decoder can be diffed against a known-equal pair.

Preview — first 17 lineseml
From: Maya Chen <maya@brightside.example>
To: Sam Rivera <sam@meridiansupply.example>
Subject: Lines that end in whitespace (SAMPLE)
Date: Sat, 07 Feb 2026 09:05:00 -0800
Message-ID: <p7-cte-qp-trailing@brightside.example>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Trailing whitespace survives base64 and must be encoded in quoted-printable=
.
This line ends with two spaces. =20
This line ends with a tab.=09
Interior  spaces   and	tabs	stay literal.

Maya

Specifications

Wave
p7
Seed
20260807
Charset
utf-8
Decoded Bytes
193
Line Endings
CRLF (RFC 5322)
Twin Decodes Identically
true
Content Transfer Encoding
quoted-printable
Encoded Lines
7

Testing contract

Expected to pass
Scenario
Decode a quoted-printable utf-8 body that ends lines with spaces and tabs that quoted-printable must encode as =20 and =09 and compare it to its base64 twin.
Expected result
The decoder yields the same 193 octets as the base64 twin, with CRLF line breaks preserved.

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 — Quoted-Printable: Trailing Whitespace” is a deterministic Novus Examples fixture for Email parsing, Encoding detection, 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("cte-qp-trailing-whitespace.eml", "rb"))
print(msg["subject"], msg["from"])

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