IMailFolderGetStreamAsync(UniqueId, Int64, Int64, CancellationToken, ITransferProgress) Method

Asynchronously get a substream of the specified message.

Definition

Namespace: MailKit
Assembly: MailKit (in MailKit.dll) Version: 5.0.0
C#
Task<Stream> GetStreamAsync(
	UniqueId uid,
	long offset,
	long count,
	CancellationToken cancellationToken = default,
	ITransferProgress? progress = null
)

Parameters

uid  UniqueId
The UID of the message.
offset  Int64
The starting offset of the first desired byte.
count  Int64
The number of bytes desired.
cancellationToken  CancellationToken  (Optional)
The cancellation token.
progress  ITransferProgress  (Optional)
The progress reporting mechanism.

Return Value

TaskStream
The stream.

Remarks

Asynchronously gets a substream of the message. If the starting offset is beyond the end of the message, an empty stream is returned. If the number of bytes desired extends beyond the end of the message, a truncated stream will be returned.

Exceptions

ArgumentException uid is invalid.
ArgumentOutOfRangeException

offset is negative.

-or-

count is negative.

ObjectDisposedException The IMailStore has been disposed.
ServiceNotConnectedException The IMailStore is not connected.
ServiceNotAuthenticatedException The IMailStore is not authenticated.
FolderNotOpenException The folder is not currently open.
MessageNotFoundException The IMailStore did not return the requested message stream.
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