Click or drag to resize
MimeKit

Pop3ClientGetMessageAsync Method

Asynchronously get the message at the specified index.

Namespace: MailKit.Net.Pop3
Assembly: MailKit (in MailKit.dll) Version: 4.7.1
Syntax
C#
public override Task<MimeMessage> GetMessageAsync(
	int index,
	CancellationToken cancellationToken = default,
	ITransferProgress progress = null
)

Parameters

index  Int32
The index of the message.
cancellationToken  CancellationToken  (Optional)
The cancellation token.
progress  ITransferProgress  (Optional)
The progress reporting mechanism.

Return Value

TaskMimeMessage
The message.

Implements

IMailSpoolGetMessageAsync(Int32, CancellationToken, ITransferProgress)
IMailSpoolGetMessageAsync(Int32, CancellationToken, ITransferProgress)
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
Gets the message at the specified index.
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