ASP.NET读取POP3邮件的操作__教程 |
|
日期:2007-5-20 1:19:10 人气:65 [大 中 小] |
|
|
|
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 = " ";
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; szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray()); NetStrm.Write(szData,0,szData.Length);
} private string read_single_line_response() { //read the response of the pop server. This code snipped "borrowed" //with some modifications... |
|
出处:本站原创 作者:佚名 |
|
|