Class OutgoingThreadPlacement
- Namespace
- MailFathom.Domain.Delivery
- Assembly
- MailFathom.Domain.dll
Places one outgoing message in the conversation it answers, in the two headers every client threads by.
public sealed record OutgoingThreadPlacement : IEquatable<OutgoingThreadPlacement>
- Inheritance
-
OutgoingThreadPlacement
- Implements
- Inherited Members
Remarks
A reply that names the wrong ancestors is not a message with a cosmetic defect. Every mail client threads from
In-Reply-To and References and from nothing else, so a guessed value puts the reply in a conversation
of its own in every recipient's mailbox, and no later correction reaches the copies already delivered. This
deployment pays that cost twice: its own threads are assembled from the same three identifiers, so a reply whose
headers are wrong comes back from Sent as a conversation of one here as well.
The placement is derived from what the original message carried rather than supplied by whoever authored the answer. That is what makes it correct by construction: an authoring boundary names the stored email it is answering, and the identifiers come out of that message's own headers.
Fields
- MaximumReferences
The greatest number of ancestors a composed message writes into
References.
Properties
- InReplyTo
Gets the identifier of the message this one answers, without its angle brackets, or null when it answers none.
- IsThreaded
Gets whether this placement writes anything into a composed message.
- None
Gets the placement of a message that answers nothing, which writes neither header.
- References
Gets the path back to the root of the conversation, in header order, with the answered message last.
Methods
- Answering(EmailThreadReferences)
Places a message as the answer to one this deployment already holds.