Table of Contents

Class MailSubmissionRefusedException

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

The failure raised when a message somebody asked to send is not written down at all.

public sealed class MailSubmissionRefusedException : MailFathomException, ISerializable
Inheritance
MailSubmissionRefusedException
Implements
Inherited Members

Remarks

Addressing and composition each answer with a refusal rather than an exception, because both are steps inside a submission and a step tells the step above it what happened. This is the boundary of the submission itself, and a caller that reached it asked for one thing: a message to be queued. So the whole of what it needs back is that the message was not queued and what to do about it, which is a coded failure — the same shape every other refusal a protocol boundary publishes already takes, and one no adapter has to translate a second time.

The code is chosen per refusal rather than fixed for the type, because the three families call for different acts: a field is rewritten, a bound is written under, somebody is named differently, and an account that cannot send at all is an operator's to configure. Which code and which sentence each refusal produces is MailFathom.Application.Mail.Delivery.AuthoredMailRefusalPublication's answer rather than this type's, because saving a draft refuses the same set for the same reasons and the two must not tell one author two different things about one mistake. Each message names the field, the number, or the count that decided it, and none of them carries an address, a subject, a body, or anybody the contact book was searched for.

Properties

ErrorCode

Gets the stable code identifying this failure to a boundary that must report it without naming a type.

Methods

AccountNotNamed()

Reports text that names no account this deployment could look for.

DueTimeAlreadyPassed()

Reports a message asked to leave at a time that has already gone.

From(RecipientResolutionRefusal)

Reports a recipient that resolved to nobody, naming what was counted and never who.

From(AuthoredResponseRefusal)

Reports an answer to a stored email that was not authored at all, in the terms the caller can act on.

From(AuthoredEmailRefusal)

Reports a message that was not composed, in the terms the author can act on.

IdempotencyKeyUnusable()

Reports an idempotency key no outgoing record could be written under.

ReplyAudienceUnknown()

Reports a reply whose audience names neither of the two acts a reply may be.

ScheduleUnreadable(string)

Reports a repetition written in a form the schedule syntax does not name.

TooManyRecipients()

Reports a list of recipients longer than any outgoing record could be written for.