Table of Contents

Class RemoteEmailPlacement

Namespace
MailFathom.Domain.Mutations
Assembly
MailFathom.Domain.dll

States where a mutation left an email in the folder it put it into, when the server said.

public sealed record RemoteEmailPlacement : IEquatable<RemoteEmailPlacement>
Inheritance
RemoteEmailPlacement
Implements
Inherited Members

Remarks

A message that arrives in another folder is a different occurrence with a different UID, and only RFC 4315's COPYUID response names it directly. A server advertising no UIDPLUS completes the same change and simply does not say where, which is why the absence is a value this type carries rather than a failure or a null a caller has to interpret: the alternative is searching the destination folder for the message afterwards, and that is a guess about identity rather than a fact the server gave.

The UIDVALIDITY travels with the UID because a UID is only stable inside one. Reporting the number alone would let a destination folder recreated between two mutations hand back an identity naming a different email.

Properties

IsReported

Gets whether the server named where it put the email.

Uid

Gets the UID the email was assigned there, or null when the server named neither.

UidValidity

Gets the UIDVALIDITY of the folder the email was put into, or null when the server named neither.

Methods

NotReported()

Reports a server that completed the change without naming where the email landed.

Reported(ImapUidValidity, ImapUid)

Reports the identity a COPYUID response named.