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.