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.