public event ExtendedAsyncCompletedEventHandler<TResult> DownloadMailMessageCompleted
Connect to an IMAP server and download a message asynchronously (Task-based asynchronous approach).
using System; using ComponentPro; using ComponentPro.Net.Mail; ... // Create a new instance of the Imap class. Imap client = new Imap(); // Connect to the server. client.Connect("myserver"); // Or you can specify the IMAP port with // client.Connect("myserver", 143); // Login to the server. client.Authenticate("user", "password"); // ... // Select 'INBOX' mailbox. client.Select("INBOX"); // Download a mail message with sequence number 1. MailMessage msg = await client.DownloadMailMessageAsync(1); // ... Console.WriteLine("Message downloaded successfully."); Console.WriteLine("Message ID: {0}, Subject: {1}", msg.MessageIdentifier, msg.Subject); // Disconnect. client.Disconnect();
Connect to an IMAP server and download a message asynchronously (Event-based asynchronous approach).
using System; using ComponentPro; using ComponentPro.Net.Mail; ... public void DoDownloadMailMessageAsync() { // Create a new instance of the Imap class. Imap client = new Imap(); // Connect to the server. client.Connect("myserver"); // Or you can specify the IMAP port with // client.Connect("myserver", 143); // Login to the server. client.Authenticate("user", "password"); // ... // Register an event handler. client.DownloadMailMessageCompleted += client_DownloadMailMessageCompleted; // Select 'INBOX' mailbox. client.Select("INBOX"); // Download a mail message with sequence number 1. client.DownloadMailMessageAsync(1); // ... // Disconnect. client.Disconnect(); } void client_DownloadMailMessageCompleted(object sender, ExtendedAsyncCompletedEventArgs<MailMessage> e) { if (e.Error != null) { Console.WriteLine("Error: " + e.Error.ToString()); } else { Console.WriteLine("Message downloaded successfully."); Console.WriteLine("Message ID: {0}, Subject: {1}", e.Result.MessageIdentifier, e.Result.Subject); } }