public event ExtendedAsyncCompletedEventHandler<TResult> ListFoldersCompleted
Connect to an IMAP server and asynchronously list existing mailboxes (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"); // ... // List all mailboxes in the root folder. FolderCollection list = await client.ListFoldersAsync("", false, false); // ... foreach (Folder m in list) { Console.WriteLine("Mailbox: " + m.Name); Console.WriteLine("The number of recent messages: " + m.RecentMessages); Console.WriteLine("The number of new unseen messages messages: " + m.NewUnseenMessages); } // Disconnect. client.Disconnect();
Connect to an IMAP server and asynchronously list existing mailboxes (Event-based asynchronous approach).
using System; using System.ComponentModel; using ComponentPro; using ComponentPro.Net.Mail; ... public void DoListMailboxesAsync() { // 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.ListFoldersCompleted += client_ListMailboxesCompleted; // List all mailboxes in the root folder. client.ListFoldersAsync("", false, false); // ... // Disconnect. client.Disconnect(); } void client_ListMailboxesCompleted(object sender, ExtendedAsyncCompletedEventArgs<FolderCollection> e) { // Imap client = (Imap)sender; if (e.Error != null) { Console.WriteLine("Error: " + e.Error.ToString()); } else { foreach (Folder m in e.Result) { Console.WriteLine("Mailbox: " + m.Name); Console.WriteLine("The number of recent messages: " + m.RecentMessages); Console.WriteLine("The number of new unseen messages messages: " + m.NewUnseenMessages); } } }