Table of Contents

Constructor RecipientVouching

Namespace
MailFathom.Application.Mail.Delivery.Governance
Assembly
MailFathom.Application.dll

RecipientVouching(IContactDirectory, IMailAccountCatalog, IOutgoingSenderIdentityReader)

Answers how many of the addresses a caller wrote down nothing this deployment holds can vouch for.

public RecipientVouching(IContactDirectory contacts, IMailAccountCatalog accounts, IOutgoingSenderIdentityReader senderIdentities)

Parameters

contacts IContactDirectory

Reads which of a set of addresses the book already holds.

accounts IMailAccountCatalog

Says which accounts this deployment serves.

senderIdentities IOutgoingSenderIdentityReader

Says which address each of those accounts sends as.

Remarks

Two things vouch for an address, and both are the owner's rather than any caller's. The contact book holds the people this mailbox corresponds with — whether the owner wrote them down or collection recorded them from mail that arrived — and the deployment's own accounts hold the mailboxes it reads on their behalf. An address in neither is one this installation has no trace of at all, which is what the address inside an injected instruction looks like: a message telling an agent to write to its author's accomplice is naming somebody the mailbox has never heard of.

It is asked only about addresses a caller supplied as text. A recipient resolved out of the book is vouched for by the lookup that produced it, and one the answered message's own headers named is this system's reading of mail it already holds — neither is a caller's word, and asking about either would refuse a plain reply on an installation whose book is empty.

What comes back is a count. No address, contact, or account crosses this boundary in either direction beyond the lookup itself, so a refusal built from the answer can say that somebody could not be vouched for without saying who — and a caller cannot map the contact book by watching which sends are refused.

The book is read in groups rather than one address at a time, under the same bound the directory answers a whole contact's addresses in, so a message costs a read per group instead of a read per recipient.