Table of Contents

Enum DmarcOutcome

Namespace
MailFathom.Domain.Emails.Authentication
Assembly
MailFathom.Domain.dll

What the receiving server reported for DMARC, which is where an authenticated domain meets the displayed one.

public enum DmarcOutcome

Fields

Fail = 2

The From domain published a policy and the message did not satisfy it.

NoPolicyPublished = 3

The From domain publishes no DMARC record, so its policy decided nothing.

RFC 8601 spells this result none. It is kept apart from NotReported because the two say opposite things about the receiving server: this one is a DMARC evaluation that ran and found no policy, and that one is an evaluation that never ran.

NotReported = 0

The trusted header reported no DMARC result, which most servers that publish results still do not.

Pass = 1

An authenticated domain lined up with the From domain under the sender's published policy.

PermanentError = 5

The evaluation could not complete and will not succeed if repeated, which is RFC 8601's permerror.

TemporaryError = 4

The evaluation could not complete and may succeed if repeated, which is RFC 8601's temperror.

Remarks

The values are RFC 8601's registered dmarc results and nothing else. MailFathom evaluates no policy and resolves no record: this is what the trusted header said, read back.

It is worth recording beside the authenticated identity because the two answer different questions. An identity says somebody authenticated as a domain; a DMARC result says whether that domain is the one the message claims to be from, which is the difference the whole verdict exists to make visible.