Table of Contents

Interface IDkimPublicKeyRecordResolver

Namespace
MailFathom.Application.Mail
Assembly
MailFathom.Application.dll

Resolves the key record a signing domain publishes for one DKIM selector.

public interface IDkimPublicKeyRecordResolver

Remarks

The port exists so that the one place MailFathom reaches the network to judge a sender is a named, replaceable seam rather than a call buried in a parser. What crosses it is a selector, a domain, and the record's text — no resolver type, no MIME type, and no cryptographic type, so an implementation may answer from DNS, from a cache, or from a fixture without any of that reaching the verification above it.

Every implementation is bounded and answers rather than raises. A record that does not exist, a nameserver that cannot be reached, and a lookup that outlives its deadline are all ordinary outcomes of asking a stranger's nameserver a question, and each of them answers with no record. Extraction runs over whatever arrives in a mailbox, so a resolver that threw or stalled would turn somebody else's DNS trouble into a folder that never advances past one message.

What is disclosed by a call is <selector>._domainkey.<domain> and nothing else: a low-cardinality name the signing domain published in order to be asked for, carrying nothing about this message, this mailbox, or this recipient. It is resolved when a message is stored rather than when one is read, so no lookup is ever correlated with somebody opening their mail.

Methods

ResolveAsync(string, string, CancellationToken)

Resolves what a signing domain publishes for one selector.