★33°空間‰


                                 ----★七彩服飾  【最潮拜☆日單精品】【Esprit】【Hotwind】滿150包郵-女裝-流行女裝    www.7color.hb.cn

                                 ----智力比知識(shí)重要,素質(zhì)比智力重要,覺(jué)悟比素質(zhì)更重要
          posts - 110,comments - 35,trackbacks - 0

          The instantiation of the POP is in Main() like this:
          POP pop = new POP("pop-server", "loginname", "password"); You must replace "pop-server" with the name of your POP server, "loginname" with your own log in, and "password" with your password. The class has two methods. The Connect method takes care of actually logging in to the server. The TCPClient class is used to establish the connection. The "user" and "pass" commands are used to login. Connect returns a NetworkStream object created during the connection process. The second method is GetNumberOfNewMessages, which returns the number of unread messages on the server. The response to the "stat" command is parsed to extract the number of new messages.



          Requirement:


          Requires .NET SDK



          How To Compile?



          csc /r:System.Net.dll /r:System.IO.dll pop.cs


          Source Code


          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 ioe){
          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[] {' '});


          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 tokens[1].ToInt32();
          }
          catch(InvalidOperationException ioe){
          Console.WriteLine("Could not connect to mail server");
          return 0;
          }
          }
          public static void Main()
          {
          POP pop = new POP("pop-server", "loginname", "password");
          Console.WriteLine("New Messages = {0}", pop.GetNumberOfNewMessages() );
          Console.ReadLine();
          }
          }

          posted on 2006-09-30 11:34 圣域飛俠 閱讀(177) 評(píng)論(0)  編輯  收藏 所屬分類: 轉(zhuǎn)載
          主站蜘蛛池模板: 太湖县| 左权县| 青铜峡市| 剑河县| 琼海市| 罗源县| 邛崃市| 耿马| 扶沟县| 灵宝市| 交城县| 高碑店市| 东港市| 潮州市| 海晏县| 昌邑市| 长宁区| 和静县| 梁河县| 长葛市| 山东| 石门县| 仙居县| 银川市| 敦煌市| 祁门县| 祁连县| 乾安县| 阿瓦提县| 博兴县| 楚雄市| 巴彦淖尔市| 彰武县| 铅山县| 巴青县| 弥勒县| 泾源县| 屏东县| 嘉义市| 湄潭县| 冕宁县|