哪位兄弟可以给我发个pop3的源代码,谢谢了[email protected]分数不够我可以开贴给

解决方案 »

  1.   

    using System.Net.Sockets; 
    using System.IO; 
    using System.Net; 
    using System;class POP 

     string POPServer; 
     string user; 
     string pwd; 
     public POP(){} 
     public POP(string server, string _user, string _pwd) 
     { 
      POPServer = server; 
      user = _user; 
      pwd = _pwd; 
     } 
     private NetworkStream Connect() 
     { 
      TcpClient sender = new TcpClient(POPServer,110); 
      Byte[] outbytes; 
      string input; 
      NetworkStream ns = null; 
      try
      { 
       ns = sender.GetStream(); 
       StreamReader sr = new StreamReader(ns); 
       Console.WriteLine(sr.ReadLine() );    input = "user " + user + "\r\n"; 
       outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray()); 
       ns.Write(outbytes,0,outbytes.Length) ; 
       Console.WriteLine(sr.ReadLine() );    input = "pass " + pwd + "\r\n"; 
       outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray()); 
       ns.Write(outbytes,0,outbytes.Length) ; 
       Console.WriteLine(sr.ReadLine() );    return ns; 
      } 
      catch(InvalidOperationException)
      { 
       Console.WriteLine("Could not connect to mail server"); 
       return ns; 
      } 
     } 
     public int GetNumberOfNewMessages() 
     { 
      Byte[] outbytes; 
      string input; 
      try
      { 
       NetworkStream ns = Connect(); 
       StreamReader sr = new StreamReader(ns);    input = "stat" + "\r\n"; 
       outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray()); 
       ns.Write(outbytes,0,outbytes.Length); 
       string resp = sr.ReadLine(); 
       Console.WriteLine(resp); 
       //string[] tokens = resp.Split(new Char[] {" "});
       string[] tokens = resp.Split(Convert.ToChar(" "));   input = "quit" + "\r\n"; 
       outbytes = System.Text.Encoding.ASCII.GetBytes(input.ToCharArray()); 
       ns.Write(outbytes,0,outbytes.Length); 
       Console.WriteLine(sr.ReadLine());   sr.Close(); 
       ns.Close(); 
       return Convert.ToInt32(tokens[1]); 
      } 
      catch(InvalidOperationException)
      { 
       Console.WriteLine("Could not connect to mail server"); 
       return 0; 
      } 
     } 
     
     public static void Main() 
     { 
      string sUserName;
      string sPop3;
      string sPass;
      Console.Write("请输入POP3地址:");
      sPop3 = Console.ReadLine();
      Console.Write("\r\n请输入用户名:");
      sUserName = Console.ReadLine();
      Console.Write("\r\n请输入登录密码:");
      sPass = Console.ReadLine();
      POP pop = new POP(sPop3,sUserName,sPass);
      Console.Write("New Messages = {0}", pop.GetNumberOfNewMessages() ); 
      Console.ReadLine(); 
     } 

      

  2.   

    怪我没说清楚问题,我是想请教如何把信件正文部分正确解析出来(html or text)
      

  3.   

    两个空行前的是邮件头,,,
    空行后和.中间的部分就是你要的。---------------这部分是邮件头
    "\r\n";
    "\r\n";
    ---------------这部分就是邮件内容
    .--------------邮件DATA部分结束必须有这个点。
      

  4.   

    两个空行前的是邮件头,,,
    空行后和.中间的部分就是你要的。---------------这部分是邮件头
    "\r\n";
    "\r\n";
    ---------------这部分就是邮件内容
    .--------------邮件DATA部分结束必须有这个点。
    v_object(牵只蚂蚁蹓跶) 是我的马甲,要给分就给KoEnemy这个ID吧。哈哈哈哈。
      

  5.   

    那怎么对中间那个部分编码?因为我只能显示text,html就是源代码了怎么给KoEnemy呀分呀