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);
}
private void issue_command(string command)
{
//send the command 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
Data= command + CRLF;
上一篇:ASP.NET中的状态管理
共有 0 位网友发表了评论,得分 0 分,平均 0 分 查看完整评论