RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
ASP.NET读取POP3邮件的操作(纯代码)
  • 作者:xiaoxiao
  • 发表时间:2020-12-23 10:58
  • 来源:未知

 

namespace POP3Client{  using System.IO ;  using System.Net;  using System.Net.Sockets ;  //Please note that all code is copyright 2002 by William J Dean  public class POP3client  {    public enum connect_state {disc,AUTHORIZATION,TRANSACTION,UPDATE};

    public string user;    public string pwd;    public string pop;    public bool error;    public connect_state state=connect_state.disc ;

    //borrowed from Agus Kurniawan's article:"Retrieve Mail From a POP3 Server Using C#" at http://www.codeproject.com/csharp/popapp.asp     private TcpClient Server;    private NetworkStream NetStrm;    private StreamReader RdStrm;    private string Data;    private byte[] szData;    private string CRLF = "/r/n"; 

    public POP3client()    {      //nothing to do..just create to object      }

    public POP3client(string pop_server,string user_name,string password)    {      //put the specied server (pop_server), user (user_name) and password (password)      //into the appropriate properties.      pop=pop_server;      user=user_name;      pwd=password;    }

    #region Utility Methods, some public, some private    public string connect (string pop_server)    {      pop=pop_server;  //put the specified server into the pop property      return(connect()); //call the connect method    }    public string connect()    {      //Initialize to the pop server. This code snipped "borrowed"      //with some modifications...      //from the article "Retrieve Mail From a POP3 Server Using C#" at      //www.codeproject.com by Agus Kurniawan      //http://www.codeproject.com/csharp/popapp.asp

      // create server with port 110      Server = new TcpClient(pop,110);                          try      {        // initialization        NetStrm = Server.GetStream();        RdStrm= new StreamReader(Server.GetStream());

        //The pop session is now in the AUTHORIZATION state        state=connect_state.AUTHORIZATION ;        return(RdStrm.ReadLine ());      }            catch(InvalidOperationException err)      {        return("Error: "+err.ToString());      }

    }    private string disconnect ()    {      string temp="disconnected successfully.";      if(state !=connect_state.disc)      {

        //close connection        NetStrm.Close();        RdStrm.Close();        state=connect_state.disc ;      }      else      {        temp="Not Connected.";      }      return(temp);    }