Click or drag to resize
MimeKit

ImapFolderGetStreamAsync(Int32, String, Int32, Int32, CancellationToken, ITransferProgress) Method

Asynchronously gets a substream of the specified message.

Namespace: MailKit.Net.Imap
Assembly: MailKit (in MailKit.dll) Version: 4.7.1
Syntax
C#
public override Task<Stream> GetStreamAsync(
	int index,
	string section,
	int offset,
	int count,
	CancellationToken cancellationToken = default,
	ITransferProgress progress = null
)

Parameters

index  Int32
The index of the message.
section  String
The desired section of the message.
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, String, Int32, Int32, CancellationToken, ITransferProgress)
IMailFolderGetStreamAsync(Int32, String, Int32, Int32, CancellationToken, ITransferProgress)
Exceptions
ExceptionCondition
ArgumentNullExceptionsection is null.
ArgumentOutOfRangeException

index is out of range.

-or-

offset is negative.

-or-

count is negative.

ObjectDisposedException The ImapClient has been disposed.
ServiceNotConnectedException The ImapClient is not connected.
ServiceNotAuthenticatedException The ImapClient is not authenticated.
FolderNotOpenException The ImapFolder is not currently open.
MessageNotFoundException The IMAP server did not return the requested message stream.
OperationCanceledException The operation was canceled via the cancellation token.
IOException An I/O error occurred.
ImapProtocolException The server's response contained unexpected tokens.
ImapCommandException The server replied with a NO or BAD response.
Remarks

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

For more information about how to construct the section, see Section 6.4.5 of RFC3501.

See Also