Table of Contents

Class SpamHeaderFacts

Namespace
MailFathom.Application.Spam.Signals
Assembly
MailFathom.Application.dll

Everything the deterministic stage reads out of one message's headers.

public sealed record SpamHeaderFacts : IEquatable<SpamHeaderFacts>
Inheritance
SpamHeaderFacts
Implements
Inherited Members

Remarks

Both lists are bounded, because a message can carry a header field any number of times and the whole point of the deterministic stage is that it costs nothing unbounded. What is dropped past a bound is the tail of a repetition rather than a distinct fact: a message with more than MaximumAuthenticationResults outcomes is one that travelled a long relay chain, and the newest hops are the ones written first.

Nothing here is loggable. An authentication detail names a sending domain and a provider header can carry the rule names a scanner fired on the sender's own content.

Fields

MaximumAuthenticationResults

The greatest number of authentication outcomes read from one message.

MaximumProviderHeaders

The greatest number of provider spam headers read from one message.

Properties

AuthenticationResults

Gets the sender-authentication outcomes the message carried, nearest hop first.

None

Gets the facts of a message that carried none of either.

ProviderHeaders

Gets the provider spam headers the message carried, in the order they appeared.

Methods

Create(IReadOnlyList<MessageAuthenticationResult>, IReadOnlyList<ProviderSpamHeaderValue>)

Records what one message's headers carried.