public static void Run() { try { // ExStart:SendIMAPasynchronousEmail // Create an imapclient with host, user and password ImapClient client = new ImapClient(); client.Host = "domain.com"; client.Username = "******"; client.Password = "******"; client.SelectFolder("InBox"); ImapMessageInfoCollection messages = client.ListMessages(); IAsyncResult res1 = client.BeginFetchMessage(messages[0].UniqueId); IAsyncResult res2 = client.BeginFetchMessage(messages[1].UniqueId); MailMessage msg1 = client.EndFetchMessage(res1); MailMessage msg2 = client.EndFetchMessage(res2); // ExEnd:SendIMAPasynchronousEmail // ExStart:SendIMAPasynchronousEmailThreadPool List <MailMessage> List = new List <MailMessage>(); ThreadPool.QueueUserWorkItem(delegate(object o) { client.SelectFolder("folderName"); ImapMessageInfoCollection messageInfoCol = client.ListMessages(); foreach (ImapMessageInfo messageInfo in messageInfoCol) { List.Add(client.FetchMessage(messageInfo.UniqueId)); } }); // ExEnd:SendIMAPasynchronousEmailThreadPool // ExStart:SendIMAPasynchronousEmailThreadPool1 List <MailMessage> List1 = new List <MailMessage>(); ThreadPool.QueueUserWorkItem(delegate(object o) { using (IDisposable connection = client.CreateConnection()) { client.SelectFolder("FolderName"); ImapMessageInfoCollection messageInfoCol = client.ListMessages(); foreach (ImapMessageInfo messageInfo in messageInfoCol) { List1.Add(client.FetchMessage(messageInfo.UniqueId)); } } }); // ExEnd:SendIMAPasynchronousEmailThreadPool1 } catch (Exception ex) { Console.Write(ex.Message); throw; } }
public static void Run() { try { // ExStart:SendIMAPasynchronousEmail // Create an imapclient with host, user and password ImapClient client = new ImapClient(); client.Host = "domain.com"; client.Username = "******"; client.Password = "******"; client.SelectFolder("InBox"); ImapMessageInfoCollection messages = client.ListMessages(); IAsyncResult res1 = client.BeginFetchMessage(messages[0].UniqueId); IAsyncResult res2 = client.BeginFetchMessage(messages[1].UniqueId); MailMessage msg1 = client.EndFetchMessage(res1); MailMessage msg2 = client.EndFetchMessage(res2); // ExEnd:SendIMAPasynchronousEmail // ExStart:SendIMAPasynchronousEmailThreadPool List<MailMessage> List = new List<MailMessage>(); ThreadPool.QueueUserWorkItem(delegate(object o) { client.SelectFolder("folderName"); ImapMessageInfoCollection messageInfoCol = client.ListMessages(); foreach (ImapMessageInfo messageInfo in messageInfoCol) { List.Add(client.FetchMessage(messageInfo.UniqueId)); } }); // ExEnd:SendIMAPasynchronousEmailThreadPool // ExStart:SendIMAPasynchronousEmailThreadPool1 List<MailMessage> List1 = new List<MailMessage>(); ThreadPool.QueueUserWorkItem(delegate(object o) { using (IDisposable connection = client.CreateConnection()) { client.SelectFolder("FolderName"); ImapMessageInfoCollection messageInfoCol = client.ListMessages(); foreach (ImapMessageInfo messageInfo in messageInfoCol) List1.Add(client.FetchMessage(messageInfo.UniqueId)); } }); // ExEnd:SendIMAPasynchronousEmailThreadPool1 } catch (Exception ex) { Console.Write(ex.Message); throw; } }
public static void Run() { // ExStart:RetrievingMessagesAsynchronously // Connect and log in to IMAP using (ImapClient client = new ImapClient("host", "username", "password")) { client.SelectFolder("Issues/SubFolder"); ImapMessageInfoCollection messages = client.ListMessages(); AutoResetEvent evnt = new AutoResetEvent(false); MailMessage message = null; AsyncCallback callback = delegate(IAsyncResult ar) { message = client.EndFetchMessage(ar); evnt.Set(); }; client.BeginFetchMessage(messages[0].SequenceNumber, callback, null); evnt.WaitOne(); } // ExEnd:RetrievingMessagesAsynchronously }