使用OpenPop.dll開發讀取POP3郵件程序


1、設置郵件的pop3

以163網易郵箱為例:

https://jingyan.baidu.com/article/adc81513804be9f722bf7350.html

2、下載OpenPop.dll

官網下載地址:http://sourceforge.net/projects/hpop/

 

3、讀取設置pop3郵箱的所有郵件內容:

 

 public class Pop3Helper { public static void ReadPop3() { using (Pop3Client client = new Pop3Client()) { if (client.Connected) { client.Disconnect(); } // Connect to the server, false means don't use ssl
                client.Connect("pop3.163.com", 110, false); // Authenticate ourselves towards the server by email account and password
                client.Authenticate("xxx@163.com", "pop3授權碼"); //email count
                int messageCount = client.GetMessageCount(); for (int i = 1; i <= messageCount; i++) { Message message = client.GetMessage(i); NameValueCollection customHeaders = message.Headers.UnknownHeaders; string sender = message.Headers.From.DisplayName; string from = message.Headers.From.Address; string subject = message.Headers.Subject; DateTime Datesent = message.Headers.DateSent; MessagePart messagePart = message.MessagePart; GetCustomInfo(customHeaders); //email body
                    string body = " "; if (messagePart.IsText) { body = messagePart.GetBodyAsText(); } else if (messagePart.IsMultiPart) { MessagePart plainTextPart = message.FindFirstPlainTextVersion(); MessagePart htmlTextPart = message.FindFirstHtmlVersion(); if (htmlTextPart != null) { body = htmlTextPart.GetBodyAsText(); } if (plainTextPart != null) { body = plainTextPart.GetBodyAsText(); } else { List<MessagePart> textVersions = message.FindAllTextVersions(); if (textVersions.Count >= 1) body = textVersions[0].GetBodyAsText(); else body = "<<OpenPop>> Cannot find a text version body in this message."; } } } } } //獲取自定義字段內容
        private static void GetCustomInfo(NameValueCollection col) { if (col != null && col.Count > 0) { foreach (var cHeaderKey in col.AllKeys) { switch (cHeaderKey) { case "X-CamId": Console.WriteLine(string.Format("CamId:{0}", col[cHeaderKey])); break; case "X-SubId": Console.WriteLine(string.Format("SubId:{0}", col[cHeaderKey])); break; case "X-UserId": Console.WriteLine(string.Format("UserId:{0}", col[cHeaderKey])); break; default: break; } } } } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM