Click or drag to resize
MimeKit

Pop3ClientDeleteMessageAsync Method

Asynchronously mark the specified message for deletion.

Namespace: MailKit.Net.Pop3
Assembly: MailKit (in MailKit.dll) Version: 4.7.1
Syntax
C#
public override Task DeleteMessageAsync(
	int index,
	CancellationToken cancellationToken = default
)

Parameters

index  Int32
The index of the message.
cancellationToken  CancellationToken  (Optional)
The cancellation token.

Return Value

Task
An asynchronous task context.

Implements

IMailSpoolDeleteMessageAsync(Int32, CancellationToken)
IMailSpoolDeleteMessageAsync(Int32, CancellationToken)
Exceptions
ExceptionCondition
ArgumentOutOfRangeExceptionindex is not a valid message index.
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");

        for (int i = 0; i < client.Count; i++) {
            var message = client.GetMessage (i);

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

            // mark the message for deletion
            client.DeleteMessage (i);
        }

        client.Disconnect (true);
    }
}
See Also