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 = 2Removes 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 = 0Keeps 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 = 1Keeps 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.