Click or drag to resize
MimeKit

MailFolderGetStreamAsync(Int32, BodyPart, Int32, Int32, CancellationToken, ITransferProgress) Method

Asynchronously get a substream of the specified body part.

Namespace: MailKit
Assembly: MailKit (in MailKit.dll) Version: 4.3.0
Syntax
C#
public virtual Task<Stream> GetStreamAsync(
	int index,
	BodyPart part,
	int offset,
	int count,
	CancellationToken cancellationToken = default,
	ITransferProgress progress = null
)

Parameters

index  Int32
The index of the message.
part  BodyPart
The desired body part.
offset  Int32
The starting offset of the first desired byte.
count  Int32
The number of bytes desired.
cancellationToken  CancellationToken  (Optional)
The cancellation token.
progress  ITransferProgress  (Optional)
The progress reporting mechanism.

Return Value

TaskStream
The stream.

Implements

IMailFolderGetStreamAsync(Int32, BodyPart, Int32, Int32, CancellationToken, ITransferProgress)
Exceptions
ExceptionCondition
ArgumentNullExceptionpart is null.
ArgumentOutOfRangeException

index is out of range.

-or-

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.
Remarks
Asynchronously gets a substream of the body part. If the starting offset is beyond the end of the body part, an empty stream is returned. If the number of bytes desired extends beyond the end of the body part, a truncated stream will be returned.
See Also