Class OutgoingRecipientOutcome
- Namespace
- MailFathom.Domain.Delivery
- Assembly
- MailFathom.Domain.dll
Reports where one recipient of an outgoing email stands, and what the server last said about them.
public sealed record OutgoingRecipientOutcome : IEquatable<OutgoingRecipientOutcome>
- Inheritance
-
OutgoingRecipientOutcome
- Implements
- Inherited Members
Remarks
A message is offered per recipient and answered per recipient, so a refusal is one person's rather than the message's: a mistyped address among five must not stop the other four, and the four who received it must not be offered the message again when the fifth is retried. That is the whole reason the outcome is recorded at this grain.
The reply code is the three digits the server answered with and nothing else. Recording it is what lets an operator tell a mailbox that does not exist from one that is over quota without the reply text — which is written by the remote server, may name the recipient, and is therefore never kept.
Properties
- AnsweredAt
Gets when that answer was recorded, or null while there has been none.
- IsOutstanding
Gets whether the recipient is one a later attempt still offers the message to.
- LastReplyCode
Gets the reply code the server last answered about this recipient, or null while it has answered nothing.
- Recipient
Gets the recipient this outcome is about.
- Status
Gets whether the next attempt offers this recipient, and why it does not when it does not.
Methods
- Answered(OutgoingRecipient, OutgoingRecipientStatus, int, DateTimeOffset)
States what one attempt settled about a recipient.
- Create(OutgoingRecipient, OutgoingRecipientStatus, int?, DateTimeOffset?)
Restores an outcome exactly as a stored row holds it.
- Unanswered(OutgoingRecipient)
States a recipient nothing has answered about yet, which is how every recipient of a new record starts.