public static void Run() { // ExStart:SupportIMAPIdleCommand // Connect and log in to IMAP ImapClient client = new ImapClient("imap.domain.com", "username", "password"); ManualResetEvent manualResetEvent = new ManualResetEvent(false); ImapMonitoringEventArgs eventArgs = null; client.StartMonitoring(delegate(object sender, ImapMonitoringEventArgs e) { eventArgs = e; manualResetEvent.Set(); }); Thread.Sleep(2000); SmtpClient smtpClient = new SmtpClient("exchange.aspose.com", "username", "password"); smtpClient.Send(new MailMessage("*****@*****.**", "*****@*****.**", "EMAILNET-34875 - " + Guid.NewGuid(), "EMAILNET-34875 Support for IMAP idle command")); manualResetEvent.WaitOne(10000); manualResetEvent.Reset(); Console.WriteLine(eventArgs.NewMessages.Length); Console.WriteLine(eventArgs.DeletedMessages.Length); client.StopMonitoring("Inbox"); smtpClient.Send(new MailMessage("*****@*****.**", "*****@*****.**", "EMAILNET-34875 - " + Guid.NewGuid(), "EMAILNET-34875 Support for IMAP idle command")); manualResetEvent.WaitOne(5000); // ExEnd:SupportIMAPIdleCommand }