C#利用Pop3Client 读取Email

 

1) Pop3Client的一些主要的方法

connect(); //提供popserver,popPort,user,pwd连接邮件服务器

user();//提供邮件用户

pwd();//提供邮件该用户的密码

list();//+ok 7 8889,返回正确格式为+OK,7是指新邮件数量. 

RETR(int msg);//读取第msg封邮件. 

 

2) CodeProject源码对Pop3Client的一些方法的扩展,使得pop3读取邮件更方便,代码下方列出了源码的链接。

 

private const string PopServer = "";//setting PopServer
private const int PopPort = 995;
private const string User = "";//setting user
private const string Pass = "";//setting password

private void ReadEmail()
{
    
using (Pop3Client client = new Pop3Client(PopServer, PopPort, true, User, Pass))
    {
        client.Trace 
+= new Action<string>(Console.WriteLine);
        client.Authenticate();
        client.Stat();
        
foreach (Pop3ListItem item in client.List())
        {
            MailMessageEx message 
= client.RetrMailMessageEx(item);
            
//message.Children.Count
            
//message.MessageId
            
//message.Subject
            
//message.Attachments.Count
            
//message.Body
            client.Dele(item);
        }
        client.Noop();
        client.Rset();
        client.Quit();
    }
}
 

 

参考源码:

http://www.codeproject.com/KB/IP/NetPopMimeClient.aspx 

 

 

3) 个人觉得还有些问题完善,也可能是没找到该功能的应用,等待后期的补充。

需要解决的问题:如何设置一份邮件已读,下次再读取的时候,就不在读取设置为已读的这封邮件。如果读完新邮件就从邮件服务器上删除掉该邮件,可以达到下次不再读取到该邮件,似乎有点......

 

 

 

 

 

posted @ 2010-11-30 13:55  jmz  阅读(4488)  评论(0编辑  收藏  举报
Copyright by © Pippon