static void CheckInbox() { Pop3.Pop3MailClient p = new Pop3.Pop3MailClient( "pop.gmail.com", 995, true, "*****@*****.**", "password"); p.IsAutoReconnect = true; p.ReadTimeout = 60000; p.Connect(); int mailcount; int size; string email; p.GetMailboxStats(out mailcount, out size); for (int i = mailcount; i > 0; i--) { if (p.GetEmailSize(i) < 131072) { p.GetRawEmail(i, out email); if (MatchesSubject(email, "subcription change")) { if (MatchesBody(email, "unsubscribe")) { // do something with the email here.. p.DeleteEmail(i); } } } } p.Disconnect(); }
static void Main(string[] args) { Console.WriteLine("POP3 Mail Client Demo"); Console.WriteLine("====================="); Console.WriteLine(); try { //prepare pop client // TODO: Replace username and password with your own credentials. Pop3.Pop3MailClient DemoClient = new Pop3.Pop3MailClient("pop.gmail.com", 995, true, "*****@*****.**", "fwi17051988"); DemoClient.IsAutoReconnect = true; //remove the following line if no tracing is needed DemoClient.Trace += new Pop3.TraceHandler(Console.WriteLine); DemoClient.ReadTimeout = 60000; //give pop server 60 seconds to answer //establish connection DemoClient.Connect(); //get mailbox statistics int NumberOfMails, MailboxSize; DemoClient.GetMailboxStats(out NumberOfMails, out MailboxSize); //get a list of mails List <int> EmailIds; DemoClient.GetEmailIdList(out EmailIds); //get a list of unique mail ids List <Pop3.EmailUid> EmailUids; DemoClient.GetUniqueEmailIdList(out EmailUids); //get email size DemoClient.GetEmailSize(1); //get email string Email; DemoClient.GetRawEmail(1, out Email); //delete email DemoClient.DeleteEmail(1); //get a list of mails List <int> EmailIds2; DemoClient.GetEmailIdList(out EmailIds2); //undelete all emails DemoClient.UndeleteAllEmails(); //ping server DemoClient.NOOP(); //test some error conditions DemoClient.GetRawEmail(1000000, out Email); DemoClient.DeleteEmail(1000000); //close connection DemoClient.Disconnect(); } catch (Exception ex) { Console.WriteLine(); Console.WriteLine("Run Time Error Occured:"); Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } Console.WriteLine(); Console.WriteLine("======== Press Enter to end program"); Console.ReadLine(); }