Table of Contents

Enum AuthoredDeleteEmailDisposition

Namespace
MailFathom.Domain.Emails
Assembly
MailFathom.Domain.dll

States what becomes of the local copy of an email MailFathom itself deleted on the mail server.

public enum AuthoredDeleteEmailDisposition

Fields

EraseLocalCopy = 2

Removes the local row together with its raw MIME and everything derived from it.

Nothing of the email survives locally, so a deployment that must not retain mail past the server's own copy can say so for its own deletions as well as for the server's. The removal happens as the disappearance is observed, which is deliberate and irreversible.

RetainLocalCopy = 0

Keeps the local email readable and searchable although the server no longer holds it.

The remote occurrence is gone and the local copy is not, which is what separates freeing space on the server from forgetting the mail. Nothing is destroyed, so it is the default for the same reason RetainTombstone is: a disposition an operator has not thought about must not be the reason mail stops being readable.

RetainTombstone = 1

Keeps the local row as a tombstone that every mailbox query excludes.

The record that the email existed survives and the mail itself stops being reachable, which is what makes an authored delete auditable without leaving the message readable. It is the exact counterpart of RetainTombstone.

Remarks

It is a separate decision from RemotelyDeletedEmailDisposition because the two answer for different acts. That one governs a disappearance somebody else caused and MailFathom observed afterwards; this one governs a deletion the mailbox owner authored through MailFathom. Inheriting one value for both would make an account configured to erase what its server loses also erase what MailFathom was just told to delete — which is precisely the case where the owner may have wanted the opposite, because deleting on the server is how mail is kept while quota is freed.

The value is resolved when the mutation is written down and travels on its record, so changing the setting while a delete is in flight governs the deletes authored after the change and leaves that one exactly as it was begun.