Skip to content
Novus Examples
eml1.3 KB

EML — Authentication-Results: SPF, DKIM and DMARC All Fail

The failing twin of the all-pass fixture, headers otherwise identical: SPF fail, DKIM fail with a quoted reason property, DMARC fail under p=REJECT. The quoted reason string contains a semicolon-free phrase specifically to test method-splitting.

Preview — first 26 lineseml
Return-Path: <bounce@spoofed.example>
Received: from unknown (unknown [198.51.100.66])
	by mx1.meridiansupply.example with ESMTP id p7aa02;
	Tue, 17 Feb 2026 08:05:02 -0800
Received-SPF: fail (brightside.example: domain of bounce@spoofed.example does not designate 198.51.100.66 as permitted sender) client-ip=198.51.100.66;
Authentication-Results: mx1.meridiansupply.example;
	spf=fail smtp.mailfrom=spoofed.example;
	dkim=fail reason="signature verification failed" header.d=brightside.example header.s=feb2026;
	dmarc=fail (p=REJECT sp=REJECT) header.from=brightside.example
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brightside.example; s=feb2026; t=1771200000;
	h=from:to:subject:date:message-id;
	bh=SAMPLEbodyHashBase64Placeholder0000000000000=;
	b=SAMPLEsignatureBase64Placeholder00000000000000000000000000000000/NOTREAL=
From: Maya Chen <maya@brightside.example>
To: Sam Rivera <sam@meridiansupply.example>
Subject: Order confirmation (all checks fail)
Date: Tue, 17 Feb 2026 08:05:00 -0800
Message-ID: <p7-auth-fail@brightside.example>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit

The authentication headers are the fixture; the body is filler.
Every DKIM and ARC value in this message is a visible SAMPLE placeholder
and will not verify against any key.

Specifications

Wave
p7
Seed
20260807
Spf
fail
Dkim
fail
Dmarc
fail
Dmarc Policy
p=REJECT
Has Reason Property
true
Signature Is Sample
true
Line Endings
CRLF (RFC 5322)

Testing contract

Expected to pass
Scenario
Parse an Authentication-Results header where every method fails and one carries a quoted reason= property.
Expected result
All three methods are read as fail and the quoted reason text stays attached to the dkim method rather than being split into a fourth method.

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 — Authentication-Results: SPF, DKIM and DMARC All Fail” is a deterministic Novus Examples fixture for Email parsing, Metadata 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-auth-all-fail.eml", "rb"))
print(msg["subject"], msg["from"])

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