Table of Contents

Class MailboxSearchReader

Namespace
MailFathom.Application.Emails.SearchEmails
Assembly
MailFathom.Application.dll

Searches the local mailbox copy for text and returns one bounded, ranked window of results.

public sealed class MailboxSearchReader
Inheritance
MailboxSearchReader
Inherited Members

Remarks

The use case owns everything between an unvalidated request and a window: it normalizes and bounds the structured filters, validates the free text, refuses an account this deployment does not serve, and decides the effective result count and the snippet bounds. Storage does none of that, and no protocol adapter repeats it.

It reaches no mail server. A search answers from what synchronization has already stored and what extraction has already indexed, which is what keeps an MCP read independent of IMAP availability, and it reports how current that copy is instead of pretending it is live.

Because the index covers body text only, a word that appears solely inside an attachment payload matches nothing here. That is the deliberate limit the extraction specification records rather than something this use case works around, and the feature documentation states it so the behavior is not surprising.

Constructors

MailboxSearchReader(IEmailSearchIndexReader, ISynchronizationFreshnessReader, MailboxScopeResolver, EmailSearchSnippetBounds)

Initializes the use case.

Methods

SearchEmailsAsync(SearchEmailsRequest, CancellationToken)

Searches for one window of ranked emails.