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.