Click or drag to resize
MimeKit

Pop3ClientDeleteMessagesAsync(Int32, Int32, CancellationToken) Method

Asynchronously mark the specified range of messages for deletion.

Namespace: MailKit.Net.Pop3
Assembly: MailKit (in MailKit.dll) Version: 4.3.0
Syntax
C#
public override Task DeleteMessagesAsync(
	int startIndex,
	int count,
	CancellationToken cancellationToken = default
)

Parameters

startIndex  Int32
The index of the first message to mark for deletion.
count  Int32
The number of messages to mark for deletion.
cancellationToken  CancellationToken  (Optional)
The cancellation token.

Return Value

Task
An asynchronous task context.

Implements

IMailSpoolDeleteMessagesAsync(Int32, Int32, CancellationToken)
IMailSpoolDeleteMessagesAsync(Int32, Int32, CancellationToken)
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.
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
Messages marked for deletion are not actually deleted until the session is cleanly disconnected (see Disconnect(Boolean, CancellationToken)).
Example
C#
public static void DownloadMessages ()
{
    using (var client = new Pop3Client ()) {
        client.Connect ("pop.gmail.com", 995, SecureSocketOptions.SslOnConnect);

        client.Authenticate ("username", "password");

        var messages = client.DownloadMessages (0, count);

        foreach (var message in messages) {
            // write the message to a file
            message.WriteTo (string.Format ("{0}.msg", i));
        }

        client.DeleteMessages (0, count);

        client.Disconnect (true);
    }
}
See Also