Click or drag to resize
MimeKit

ImapFolderMoveToAsync(IListInt32, IMailFolder, CancellationToken) Method

Asynchronously move the specified messages to the destination folder.

Namespace: MailKit.Net.Imap
Assembly: MailKit (in MailKit.dll) Version: 4.3.0
Syntax
C#
public override Task MoveToAsync(
	IList<int> indexes,
	IMailFolder destination,
	CancellationToken cancellationToken = default
)

Parameters

indexes  IListInt32
The indexes of the messages to move.
destination  IMailFolder
The destination folder.
cancellationToken  CancellationToken  (Optional)
The cancellation token.

Return Value

Task
An awaitable task.

Implements

IMailFolderMoveToAsync(IListInt32, IMailFolder, CancellationToken)
IMailFolderMoveToAsync(IListInt32, IMailFolder, CancellationToken)
Exceptions
ExceptionCondition
ArgumentNullException

indexes is null.

-or-

destination is null.

ArgumentException

One or more of the indexes is invalid.

-or-

The destination folder does not belong to the ImapClient.

ObjectDisposedException The ImapClient has been disposed.
ServiceNotConnectedException The ImapClient is not connected.
ServiceNotAuthenticatedException The ImapClient is not authenticated.
FolderNotFoundExceptiondestination does not exist.
FolderNotOpenException The ImapFolder is not currently open in read-write mode.
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

If the IMAP server supports the MOVE command, then the MOVE command will be used. Otherwise, the messages will first be copied to the destination folder and then marked as \Deleted in the originating folder. Since the server could disconnect at any point between those 2 operations, it may be advisable to implement your own logic for moving messages in this case in order to better handle spontanious server disconnects and other error conditions.

See Also