コード例 #1
0
        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;
            }
        }
コード例 #2
0
        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
 }
 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
 }