Table of Contents

Class SenderAuthenticationReading

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

Reads one message's sender-authentication verdict out of the headers a receiving server wrote.

public static class SenderAuthenticationReading
Inheritance
SenderAuthenticationReading
Inherited Members

Remarks

This is the whole of MailFathom's reasoning about who sent a message, and it is deliberately small. It selects the one header the account's configured authority produced, reads the identities that header states, and records them. It resolves no DNS, verifies no signature, evaluates no policy, and reads no Received chain — a message's authenticity was decided by the server that observed the connection, and nothing after delivery can decide it again.

The selection rule is the security property rather than a detail of it. Every other Authentication-Results header is ignored whatever it says, because anything upstream can write one; and where the trusted server wrote several, the topmost is taken, since a receiving server adds its own above whatever it found and may leave a forged one below.

What it hands the verdict is every identity the trusted header reported as passing rather than one per method, so that AuthorAuthentication is decided against all of them. A message signed by a delivery provider as well as by its author carries two verified signatures, and which of the two a server happened to list first is not something the displayed author may depend on.

Methods

FindsTrustedStatement(IReadOnlyList<AuthenticationResultsHeader>, TrustedAuthenticationAuthority)

Answers whether the account's trusted server wrote a statement about this message at all.

Read(IReadOnlyList<AuthenticationResultsHeader>, TrustedAuthenticationAuthority, string?)

Reads the verdict one message's headers support.