Click or drag to resize
MimeKit

Pop3ClientGetStreamsAsync(Int32, Int32, Boolean, CancellationToken, ITransferProgress) Method

Asynchronously get the message or header streams within the specified range.

Namespace: MailKit.Net.Pop3
Assembly: MailKit (in MailKit.dll) Version: 4.3.0
Syntax
C#
public override Task<IList<Stream>> GetStreamsAsync(
	int startIndex,
	int count,
	bool headersOnly = false,
	CancellationToken cancellationToken = default,
	ITransferProgress progress = null
)

Parameters

startIndex  Int32
The index of the first stream to get.
count  Int32
The number of streams to get.
headersOnly  Boolean  (Optional)
true if only the headers should be retrieved; otherwise, false.
cancellationToken  CancellationToken  (Optional)
The cancellation token.
progress  ITransferProgress  (Optional)
The progress reporting mechanism.

Return Value

TaskIListStream
The message or header streams.

Implements

IMailSpoolGetStreamsAsync(Int32, Int32, Boolean, CancellationToken, ITransferProgress)
IMailSpoolGetStreamsAsync(Int32, Int32, Boolean, CancellationToken, ITransferProgress)
Exceptions
ExceptionCondition
ArgumentOutOfRangeExceptionstartIndex and count do not specify a valid range of messages.
ObjectDisposedException The Pop3Client has been disposed.
ServiceNotConnectedException The Pop3Client is not connected.
ServiceNotAuthenticatedException The Pop3Client is not authenticated.
NotSupportedException The POP3 server does not support the UIDL extension.
OperationCanceledException The operation was canceled via the cancellation token.
IOException An I/O error occurred.
Pop3CommandException The POP3 command failed.
Pop3ProtocolException A POP3 protocol error occurred.
Remarks

Gets the message or header streams within the specified range.

If the POP3 server supports the Pipelining extension, this method will likely be more efficient than using GetStream(Int32, Boolean, CancellationToken, ITransferProgress) for each message because it will batch the commands to reduce latency.

See Also