Table of Contents

Class SearchEmailsRequest

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

What a caller asks for when searching the local mailbox copy for text.

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

Remarks

This is the unvalidated contract: every value is what a caller supplied, and nothing here has been normalized, bounded, or checked against the accounts this deployment serves. MailboxSearchReader does that and produces the validated MailboxEmailSelection and EmailSearchQueryText the read port receives, so no protocol adapter can reach a query with either one unvalidated.

The structured filters are the ones a listing takes, and they mean the same things — including attachment presence, which follows the MIME classification rather than a header. What a listing has and this does not is a reading direction and a cursor: a ranked window has neither.

Properties

AccountIds

Gets the accounts to search, or empty for every account this deployment serves.

FolderAliases

Gets the folder aliases to search, or empty for every folder of the named accounts.

HasAttachments

Gets whether attachments are required, or null for either.

IsRemotelySeen

Gets the remote \Seen state to require, or null for either.

QueryText

Gets the text to search for.

ReceivedBefore

Gets the exclusive end of the received range, or null for no end.

ReceivedOnOrAfter

Gets the inclusive start of the received range, or null for no start.

RecipientAddress

Gets the address a To or Cc recipient must carry, or null for any recipient.

ResultLimit

Gets how many ranked results to return, or null to take the default.

SenderAddress

Gets the address the sender must carry, in any case, or null for any sender.

SubjectFragment

Gets the fragment the subject must contain, compared without regard to case, or null for any subject.