Table of Contents

Interface IEmailContentStore

Namespace
MailFathom.Application.EmailContent.Storage
Assembly
MailFathom.Application.dll

Stores raw email content outside ordinary email metadata queries.

public interface IEmailContentStore

Remarks

No storage library publishes a contract for this seam, and the store behind it is expected to move from a PostgreSQL table to object storage without a use case noticing, so the port names the operation in domain terms instead. It takes the caller's session rather than opening one of its own, which is what makes a content write commit or roll back together with the metadata row it belongs to.

Methods

FindStoredContentAsync(StoredEmailId, CancellationToken)

Reads back the raw MIME stored for one locally stored email, with what was recorded about it.

SaveContentAsync(IPersistenceSession, StoredEmailId, RemoteEmailContent, CancellationToken)

Saves raw MIME content idempotently for one locally stored email.