IMailFolderSearch(SearchOptions, SearchQuery, PartialRange, CancellationToken) Method

Search the folder for messages matching the specified query, returning only the specified range of results.

Definition

Namespace: MailKit
Assembly: MailKit (in MailKit.dll) Version: 5.0.0
C#
SearchResults Search(
	SearchOptions options,
	SearchQuery query,
	PartialRange partialRange,
	CancellationToken cancellationToken = default
)

Parameters

options  SearchOptions
The search options.
query  SearchQuery
The search query.
partialRange  PartialRange
The partial range of search results to return.
cancellationToken  CancellationToken  (Optional)
The cancellation token.

Return Value

SearchResults
The search results.

Remarks

Searches the folder for messages matching the specified query, returning only the search results within the specified range.

Positive positions within the partialRange range are relative to the oldest matching message while negative positions are relative to the newest matching message. For example, a range of 1:500 will return the oldest 500 results while a range of -1:-500 will return the newest 500 results.

  Note

If the range specified by partialRange references results beyond the end of the complete set of matching messages, then the results will only contain the unique identifiers that fall within the range (if any).

Exceptions

ArgumentException options contains the All flag, which cannot be combined with a partial range.
ArgumentNullException query is .
NotSupportedException

One or more search terms in the query are not supported.

-or-

The server does not support the specified search options.

-or-

The folder does not support partial searches.

ObjectDisposedException The IMailStore has been disposed.
ServiceNotConnectedException The IMailStore is not connected.
ServiceNotAuthenticatedException The IMailStore is not authenticated.
FolderNotOpenException The MailFolder is not currently open.
OperationCanceledException The operation was canceled via the cancellation token.
IOException An I/O error occurred.
ProtocolException The server's response contained unexpected tokens.
CommandException The command failed.

See Also