public event ExtendedAsyncCompletedEventHandler<TResult> ListMessagesCompleted
Shows how to use the ListMessages to get list of messages asynchronously (Task-based asynchronous approach).
using System; 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"); // List all messages in the selected folder. ImapMessageCollection listMessages = await client.ListMessagesAsync(); // ... foreach (ImapMessage m in listMessages) { Console.WriteLine(string.Format("UniqueId: {0}, Size: {1}", m.UniqueId, m.Size)); } // Disconnect. client.Disconnect();
Shows how to use the ListMessages to get list of messages asynchronously (Event-based asynchronous approach).
using System; using ComponentPro; using ComponentPro.Net.Mail; ... public void DoListMessagesAsync() { // 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.ListMessagesCompleted += client_ListMessagesCompleted; // Select 'INBOX' mailbox. client.Select("INBOX"); // List all messages in the selected folder. client.ListMessagesAsync(); // ... // List messages received since yesterday. ImapCriterion criteria = ImapCriterion.ArrivedBetween(DateTime.Now.AddDays(-1), DateTime.Now); client.ListMessagesAsync(ImapEnvelopeParts.UniqueId | ImapEnvelopeParts.ReceivedDate, criteria); // ... // Disconnect. client.Disconnect(); } void client_ListMessagesCompleted(object sender, ExtendedAsyncCompletedEventArgs<ImapMessageCollection> e) { // Imap client = (Imap)sender; if (e.Error != null) Console.WriteLine("Error: " + e.Error.ToString()); else { foreach (ImapMessage m in e.Result) { Console.WriteLine(string.Format("UniqueId: {0}, Size: {1}", m.UniqueId, m.Size)); } } }