Class MailboxMutationUnsupportedException
- Namespace
- MailFathom.Application.Mail.Mutations
- Assembly
- MailFathom.Application.dll
Indicates that a mail server advertises no extension able to carry a requested mutation safely.
public sealed class MailboxMutationUnsupportedException : MailboxMutationRefusedException, ISerializable
- Inheritance
-
MailboxMutationUnsupportedException
- Implements
- Inherited Members
Remarks
It is raised rather than returned because it is not a state the immediate caller chooses between: a server that cannot remove one message without removing others will not be able to tomorrow either, so the mutation is refused instead of deferred to a later run. That is what separates it from MailboxUnavailableException, which says exactly the opposite about repeating the work.
The one shape this exists for is the expunge. RFC 3501's bare EXPUNGE removes every message in the folder
that anybody has flagged \Deleted, including messages another client flagged and MailFathom never saw, so it
is never issued. Where RFC 4315 UID EXPUNGE is unavailable there is no message-scoped removal to fall back
to, and refusing is the only answer that keeps a mail tool from deleting mail nobody asked it to.
The message names the account alias, the folder alias, the mutation, and the missing extension. All four are MailFathom's own configured or protocol-registered names, and none of them is mail content or a remote path.
Constructors
- MailboxMutationUnsupportedException(MailAccountId, MailFolderAlias, MailboxMutation, string)
Initializes a new refusal naming the mutation and the extension the server does not advertise.
Properties
- AccountId
Gets the account whose mail server advertises no way to carry the mutation.
- ErrorCode
Gets the stable code identifying this failure to a boundary that must report it without naming a type.
- FolderAlias
Gets the folder the mutation was to be performed in.
- Mutation
Gets the mutation that was asked for.
- RequiredCapabilityName
Gets the IMAP extension the mutation needs and the server does not advertise.