Table of Contents

Class MailboxMutationRefusedException

Namespace
MailFathom.Application.Mail.Mutations
Assembly
MailFathom.Application.dll

Indicates that a mail server was reached, answered, and will answer the same way every later time.

public abstract class MailboxMutationRefusedException : MailFathomException, ISerializable
Inheritance
MailboxMutationRefusedException
Implements
Derived
Inherited Members

Remarks

It exists so the two callers that act on that fact name one type instead of each keeping a list of the concrete refusals. The performer abandons a mutation raising one of these on its first occurrence rather than spending the attempt bound, and a convergence pass counts it as given up on rather than as failed — and those two decisions would silently disagree the moment a third refusal was added to one list and not the other.

What every subclass asserts is the same thing, and it is the opposite of what MailboxUnavailableException asserts: the server did not fail to answer, it answered, and the answer is a decision an operator has to change something to alter. A failure that might clear on its own is not one of these, however certain it looks.

It carries no MailFathomErrorCode of its own, because a code names one failure a boundary reports and each subclass has one. Being abstract, it is never raised and never caught in place of knowing which refusal happened where that matters.

Constructors

MailboxMutationRefusedException(string)

Initializes a new refusal with a message safe to surface.

MailboxMutationRefusedException(string, Exception)

Initializes a new refusal with a message safe to surface and the failure that revealed it.