Table of Contents

Constructor AuthoredEmailRecipient

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

AuthoredEmailRecipient(OutgoingRecipientRole, string, string?, ContactId?, AuthoredRecipientProvenance)

Names one person a message is addressed to by an address, whoever decided which address that is.

public AuthoredEmailRecipient(OutgoingRecipientRole Role, string Address, string? DisplayName = null, ContactId? Contact = null, AuthoredRecipientProvenance Provenance = AuthoredRecipientProvenance.NamedByCaller)

Parameters

Role OutgoingRecipientRole

The header the author wants this person named in.

Address string

The addr-spec to compose with, unparsed and unvalidated.

DisplayName string

The name to write beside the address, or nothing to write the address alone.

Contact ContactId?

The contact the address was resolved from, or nothing when an author supplied the address itself.

Provenance AuthoredRecipientProvenance

How the address came to be here, which is what the sending governance judges a caller's own word by.

Remarks

Both text members are an author's input rather than a value this system produced, which is why they arrive as text. Parsing, normalizing, and refusing them is the composer's, so the shape a caller hands over is what it was given — a boundary that repaired an address before this point would compose a message to somebody nobody named.

A recipient addressed by naming somebody in the contact book arrives here as an address like any other, which is what keeps the book out of the composition entirely. What the contact adds is the identity beside it, which the outgoing record keeps so that what was sent stays answerable after the book changes; nothing composes from it, and no path resolves one here — NamedRecipientResolver is the only place a contact becomes an address.

The display name reaches the composed message and nothing else. The outgoing record holds addresses because a send cannot be resumed without them; a name is presentation, so it stays in the stored MIME the way every other authored field does.

The provenance reaches neither. It says where the address came from rather than what it is, which is a question only the governance in front of the outbox asks, and it defaults to the caller's own word so that a boundary added later is judged strictly rather than trusted by omission.