www.pudn.com > UDS1.1_51aspx.rar > Mail.cs


using System; 
using System.Data; 
using System.Data.SqlClient; 
using System.IO; 
using System.Collections ; 
using System.Configuration; 
 
namespace UDS.Components 
{ 
	///  
	/// Mail处理类 
	///  
	public class MailClass 
	{ 
 
		#region 将DataReader 转为 DataTable 
		///  
		/// 将DataReader 转为 DataTable 
		///  
		/// DataReader 
		public  DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader) 
		{ 
			DataTable datatable = new DataTable(); 
			DataTable schemaTable = dataReader.GetSchemaTable(); 
			//动态添加列 
			try 
			{ 
			 
				foreach(DataRow myRow in schemaTable.Rows) 
				{ 
					DataColumn myDataColumn = new DataColumn(); 
					myDataColumn.DataType	= myRow.GetType(); 
					myDataColumn.ColumnName = myRow[0].ToString(); 
					datatable.Columns.Add(myDataColumn); 
				} 
				//添加数据 
				while(dataReader.Read()) 
				{ 
					DataRow myDataRow = datatable.NewRow(); 
					for(int i=0;i 
		///获取某邮箱中的信件 返回DataTable 
		///  
		/// 用户名 
		/// 邮箱类型 
		public DataTable GetMails(int FolderType,string Username) 
		{ 
			SqlDataReader dataReader = null; 
			Database data = new Database(); 
			DataTable datatable = new DataTable(); 
			SqlParameter[] prams =  
								{ 
									data.MakeInParam("@Username",   SqlDbType.VarChar, 20, Username), 
									data.MakeInParam("@MailFolderType",   SqlDbType.Int, 8, FolderType) 
      							}; 
			try 
			{ 
				data.RunProc("SP_MailGetBriefInfo",prams, out dataReader); 
				datatable = ConvertDataReaderToDataTable(dataReader); 
				dataReader.Close(); 
				return datatable; 
			} 
						 
			catch(Exception ex) 
			{ 
				Error.Log(ex.ToString()); 
				return null; 
			} 
 
		} 
		#endregion 
 
		#region 获取某项目中的信件 返回DataTable 
		///  
		///获取某项目中的信件 返回DataTable 
		///  
		/// 项目ID 
		public DataTable GetClassMails(int ClassID,string Username) 
		{ 
			SqlDataReader dataReader = null; 
			Database data = new Database(); 
			DataTable datatable = new DataTable(); 
			int MailFolderType = 1; 
			SqlParameter[] prams =  
								{ 
									data.MakeInParam("@Username",   SqlDbType.VarChar, 20, Username), 
									data.MakeInParam("@ClassID",	SqlDbType.Int, 20 ,ClassID), 
									data.MakeInParam("@MailFolderType", SqlDbType.Int,3,MailFolderType)																		 
								}; 
			try 
			{ 
				data.RunProc("SP_MailInClassGetBriefInfo",prams, out dataReader); 
				datatable = ConvertDataReaderToDataTable(dataReader); 
				dataReader.Close(); 
				return datatable; 
			} 
						 
			catch(Exception ex) 
			{ 
				Error.Log(ex.ToString()); 
				return null; 
			} 
 
		} 
		#endregion 
 
		#region 获取某用户的某信箱中的信件 返回SqlDataReader 
		///  
		///获取某邮箱中的信件 返回SqlDataReader 
		///  
		/// 用户名 
		/// 邮箱类型 
		public SqlDataReader GetMailsDbReader(int FolderType,string Username) 
		{ 
			SqlDataReader dataReader = null; 
			Database data = new Database(); 
			SqlParameter[] prams =  
								{ 
									data.MakeInParam("@Username",   SqlDbType.VarChar, 20, Username), 
									data.MakeInParam("@MailFolderType",   SqlDbType.Int, 8, FolderType) 
								}; 
			try 
			{ 
				data.RunProc("SP_MailGetBriefInfo",prams, out dataReader); 
				return dataReader; 
			} 
						 
			catch(Exception ex) 
			{ 
				Error.Log(ex.ToString()); 
				return null; 
			} 
 
		} 
		#endregion 
 
		#region 将一组邮件移至指定信箱 
		///  
		/// 将一组邮件移至指定信箱 
		///  
		/// 用户名 
		/// 邮件ID的连接字符串,用逗号相隔开 
		public bool MailRemove(int FolderType,string MailIDStr) 
		{ 
			Database data = new Database(); 
			SqlParameter[] prams = { 
									   data.MakeInParam("@FolderType" , SqlDbType.Int, 20, FolderType), 
									   data.MakeInParam("@MailIDStr",   SqlDbType.VarChar,4000, MailIDStr) 
								   }; 
			try 
			{ 
				data.RunProc("SP_MailRemove",prams); 
				data = null; 
				return true; 
			} 
			catch(Exception ex) 
			{ 
				Error.Log(ex.ToString()); 
				return false; 
			} 
 
		} 
		#endregion 
 
		#region 删除一组邮件 
		///  
		/// 彻底删除一组邮件 
		///  
		/// 邮件ID的连接字符串,用逗号相隔开 
		public bool MailDelete(string MailIDStr,int type) 
		{ 
			Database data = new Database(); 
			SqlParameter[] prams = { 
									   data.MakeInParam("@MailIDStr",   SqlDbType.VarChar,4000, MailIDStr), 
									   data.MakeInParam("@DeleteType",   SqlDbType.Int,1, type) 	 
								   }; 
			try 
			{ 
				data.RunProc("SP_MailDelete",prams); 
				data = null; 
				return true; 
			} 
			catch(Exception ex) 
			{ 
				Error.Log(ex.ToString()); 
				return false; 
			} 
 
		} 
		#endregion 
 
		#region 清空某邮箱 
		///  
		/// 清空某邮箱 
		///  
		/// 用户名 
		/// 邮箱类型 
		public bool FolderClear(string Username,int type) 
		{ 
			Database data = new Database(); 
			SqlParameter[] prams = { 
									   data.MakeInParam("@FolderType",   SqlDbType.Int,1, type), 
 									   data.MakeInParam("@Username",   SqlDbType.VarChar,30, Username) 
								   }; 
			try 
			{ 
				data.RunProc("SP_MailFolderClear",prams); 
				data = null; 
				return true; 
			} 
			catch(Exception ex) 
			{ 
				Error.Log(ex.ToString()); 
				return false; 
			} 
 
		} 
		#endregion 
 
		#region 邮件主体发送 
		///  
		/// 发送邮件,只包括数据库操作 
		///  
		/// Mail类 
		public string Send(MailMainBody mailbody)  
		{		 
			 
			// create data object and params 
			Database data = new Database();	 
			string MailID = null; 
			SqlParameter[] prams = { 
									   data.MakeInParam("@MailFolderType",  SqlDbType.Int, 20, mailbody.MailFolderType), 
									   data.MakeInParam("@MailReceiverStr",  SqlDbType.VarChar, 300, mailbody.MailReceiverStr), 
									   data.MakeInParam("@MailSendDate",  SqlDbType.DateTime, 20, DateTime.Parse(mailbody.MailSendDate)), 
									   data.MakeInParam("@MailSendLevel",  SqlDbType.SmallInt,20, mailbody.MailSendLevel), 
									   data.MakeInParam("@MailSender",  SqlDbType.NVarChar, 20, mailbody.MailSender), 
									   data.MakeInParam("@MailReceiver",  SqlDbType.NVarChar, 20, mailbody.MailReceiver), 
									   data.MakeInParam("@MailSubject",  SqlDbType.NVarChar, 50, mailbody.MailSubject), 
									   data.MakeInParam("@MailBody",  SqlDbType.Text , 300000, mailbody.MailBody), 
									   data.MakeInParam("@MailCcToAddr",  SqlDbType.NVarChar, 300, mailbody.MailCcToAddr), 
									   data.MakeInParam("@MailBccToAddr",  SqlDbType.NVarChar, 300, mailbody.MailBccToAddr), 
									   data.MakeInParam("@MailReadFlag",  SqlDbType.Bit, 1, mailbody.MailReadFlag), 
									   data.MakeInParam("@MailTypeFlag",  SqlDbType.Bit, 1, mailbody.MailTypeFlag), 
									   data.MakeInParam("@MailClassID",  SqlDbType.Int, 1, mailbody.MailClassID), 
									   data.MakeInParam("@MailImportance",  SqlDbType.Int, 1, mailbody.MailImportance), 
									   data.MakeOutParam("@MailID", SqlDbType.Int,20)  
								   }; 
 
			try  
			{ 
				data.RunProc("SP_MailSend", prams); 
				MailID = prams[14].Value.ToString(); 
				if (MailID == string.Empty ) 
					return null; 
				else  
					return MailID; 
			} 
			catch (Exception ex)  
			{ 
				Error.Log(ex.ToString()); 
				throw new Exception("邮件发送出错!",ex); 
			} 
			 
		} 
		#endregion 
 
		#region 发送一组邮件 
		///  
		/// 只需传入一个MailMainBody对象,会自动拆分ReceiverStr,逐个发送 
		///  
		/// MailMainBody类的一个实例,用来进行参数传递 
		/// 返回邮件ID数组 
		public ArrayList MailSend(MailMainBody mailbody) 
		{	 
			string[] RecvAr = System.Text.RegularExpressions.Regex.Split(mailbody.MailReceiverStr +mailbody.MailCcToAddr +mailbody.MailBccToAddr ,","); 
			ArrayList listMailID = new ArrayList(); 
			string RtnMailID = ""; 
			// 发送一封邮件至发件人发件箱 
			mailbody.MailFolderType = 2; 
			mailbody.MailReceiver = mailbody.MailSender ; 
			RtnMailID = Send(mailbody); 
			listMailID.Add(RtnMailID); 
			// 开始循环发送邮件 
			for(int i=0;i 
		/// 发送邮件附件,只包括数据库操作 
		///  
		/// MailAttachFile类 
		/// 邮件ID 
		public void AttSend(MailAttachFile att,int MailID)  
		{		 
			Database data = new Database();	 
			SqlParameter[] prams = { 
									data.MakeInParam("@MailID",  SqlDbType.Int, 20, MailID), 
									data.MakeInParam("@FileName",  SqlDbType.VarChar, 300, att.FileName), 
									data.MakeInParam("@FileSize",  SqlDbType.Int, 20, att.FileSize), 
									data.MakeInParam("@FileAttribute",  SqlDbType.SmallInt,20, att.FileAttribute), 
									data.MakeInParam("@FileVisualPath",  SqlDbType.NVarChar, 200, att.FileVisualPath), 
									data.MakeInParam("@FileAuthor",  SqlDbType.NVarChar, 50, att.FileAuthor), 
									data.MakeInParam("@FileCatlog",  SqlDbType.NVarChar, 20, att.FileCatlog) 
								   }; 
			try  
			{ 
				data.RunProc("SP_AddMailAttFile", prams); 
			} 
			catch (Exception ex)  
			{ 
				Error.Log(ex.ToString()); 
				throw new Exception("邮件附件发送出错!",ex); 
			} 
			 
		} 
		#endregion 
 
		#region 获取邮件的内容	 
		///  
		/// Get  sqldatareader  from TabMailList 
		///  
		public SqlDataReader GetMailCompleteInfoDbreader(string MailID)  
		{ 
			// create data object and params 
			SqlDataReader dataReader = null; 
			Database data = new Database(); 
			SqlParameter[] prams = { 
									   data.MakeInParam("@MailID",      SqlDbType.NVarChar, 100, MailID) 
								   }; 
			 
    
			try  
			{ 
				// run the stored procedure 
				data.RunProc("SP_MailGetCompleteInfo",prams,out dataReader); 
				return dataReader; 
			} 
			catch (Exception ex)  
			{ 
				Error.Log(ex.ToString()); 
				throw new Exception("邮件读取出错!",ex); 
			} 
		} 
		#endregion 
 
		#region 获取邮件附件的内容	 
		///  
		/// Get  sqldatareader  from TabMailAttFiles 
		///  
		public SqlDataReader GetMailAttInfoDbreader(string MailID)  
		{ 
			// create data object and params 
			SqlDataReader dataReader = null; 
			Database data = new Database(); 
			SqlParameter[] prams = { 
									   data.MakeInParam("@MailID",      SqlDbType.NVarChar, 100, MailID) 
								   }; 
			 
    
			try  
			{ 
				// run the stored procedure 
				data.RunProc("SP_MailGetAttachFilesInfo",prams,out dataReader); 
				return dataReader; 
			} 
			catch (Exception ex)  
			{ 
				Error.Log(ex.ToString()); 
				throw new Exception("邮件读取出错!",ex); 
			} 
		} 
		#endregion 
 
		#region 根据邮件ID字符串获取邮件附件的内容	 
		///  
		/// Get  sqldatareader  from TabMailAttFiles 
		///  
		public SqlDataReader GetMailAttInfoByMailIDDbreader(string FileIDStr)  
		{ 
			// create data object and params 
			SqlDataReader dataReader = null; 
			Database data = new Database(); 
			SqlParameter[] prams = { 
									   data.MakeInParam("@FileIDStr",      SqlDbType.NVarChar, 4000, FileIDStr) 
								   }; 
			 
    
			try  
			{ 
				// run the stored procedure 
				data.RunProc("SP_MailGetAttachFilesInfoByMailID",prams,out dataReader); 
				return dataReader; 
			} 
			catch (Exception ex)  
			{ 
				Error.Log(ex.ToString()); 
				throw new Exception("邮件读取出错!",ex); 
			} 
		} 
		#endregion 
 
		#region 外部邮件设置保存 
		///  
		/// 外部邮件设置保存 
		///  
		///  
		public bool ExtSaveSetting(string username,string title,string email,bool smtpauth,string smtpserver,string smtpusername,string smtppassword,string smtpport,string popserver,string popusername,string poppassword,int popport,bool isdelafterread,bool isreceivenew,int timeout,int orderid)  
		{		 
			 
			// create data object and params 
			Database data = new Database();	 
			SqlParameter[] prams = { 
									   data.MakeInParam("@Username",  SqlDbType.NVarChar, 50, username), 
									   data.MakeInParam("@Title",  SqlDbType.NVarChar , 30, title), 
									   data.MakeInParam("@Email",  SqlDbType.NVarChar , 200, email), 
									   data.MakeInParam("@SmtpAuth",  SqlDbType.Bit, 1, smtpauth), 
									   data.MakeInParam("@SmtpServer",  SqlDbType.NVarChar,100, smtpserver), 
									   data.MakeInParam("@SmtpUsername",  SqlDbType.NVarChar, 30, smtpusername), 
									   data.MakeInParam("@SmtpPassword",  SqlDbType.NVarChar, 30, smtppassword), 
									   data.MakeInParam("@SmtpPort",  SqlDbType.Int, 10, smtpport), 
									   data.MakeInParam("@PopServer",  SqlDbType.NVarChar , 100, popserver), 
									   data.MakeInParam("@PopUsername",  SqlDbType.NVarChar, 30, popusername), 
									   data.MakeInParam("@PopPassword",  SqlDbType.NVarChar, 30, poppassword), 
									   data.MakeInParam("@PopPort",  SqlDbType.Int, 10, popport), 
									   data.MakeInParam("@IsDelAfterRead",  SqlDbType.Bit, 1, isdelafterread), 
									   data.MakeInParam("@IsReceiveNew",  SqlDbType.Bit, 1, isreceivenew), 
									   data.MakeInParam("@TimeOut",  SqlDbType.Int, 10, timeout), 
									   data.MakeInParam("@OrderID",  SqlDbType.Int, 10, orderid)	  
								   }; 
 
			try  
			{ 
				data.RunProc("SP_MailExtSetAdd", prams); 
				return true; 
			} 
			catch (Exception ex)  
			{ 
				Error.Log(ex.ToString()); 
				throw new Exception("外部邮件设置保存出错!",ex); 
			} 
			 
		} 
		#endregion 
 
		#region 清空某用户外部邮件设置 
		///  
		/// 清空某用户外部邮件设置 
		///  
		/// 用户名 
		public bool ExtClearSettings(string Username) 
		{ 
			Database data = new Database(); 
			SqlParameter[] prams = { 
									   data.MakeInParam("@Username",   SqlDbType.NVarChar,50, Username), 
								   }; 
			try 
			{ 
				data.RunProc("SP_MailExtSetClear",prams); 
				data = null; 
				return true; 
			} 
			catch(Exception ex) 
			{ 
				Error.Log(ex.ToString()); 
				return false; 
			} 
 
		} 
		#endregion 
 
		#region 获取设置的内容	 
		///  
		/// 获取设置的内容	 
		///  
		public SqlDataReader ExtGetSetting(string Username,int OrderID)  
		{ 
			// create data object and params 
			SqlDataReader dataReader = null; 
			Database data = new Database(); 
			SqlParameter[] prams = { 
									   data.MakeInParam("@Username",      SqlDbType.NVarChar, 20, Username), 
									   data.MakeInParam("@OrderID",      SqlDbType.Int, 1, OrderID) 
								   }; 
			 
    
			try  
			{ 
				// run the stored procedure 
				data.RunProc("SP_MailExtGetSet",prams,out dataReader); 
				return dataReader; 
			} 
			catch (Exception ex)  
			{ 
				Error.Log(ex.ToString()); 
				throw new Exception("获取设置的内容出错!",ex); 
			} 
		} 
		#endregion 
 
	    #region 获取可用到的设置的内容	 
		///  
		/// 获取可用到的设置的内容	 
		///  
		public SqlDataReader ExtGetAvaSetting(string Username)  
		{ 
			// create data object and params 
			SqlDataReader dataReader = null; 
			Database data = new Database(); 
			SqlParameter[] prams = { 
									data.MakeInParam("@Username",      SqlDbType.NVarChar, 20, Username) 
								}; 
				 
	    
			try  
			{ 
				// run the stored procedure 
				data.RunProc("SP_MailExtGetAvailabelSet",prams,out dataReader); 
				return dataReader; 
			} 
			catch (Exception ex)  
			{ 
				Error.Log(ex.ToString()); 
				throw new Exception("获取可用到的设置的内容出错!",ex); 
			} 
		} 
		#endregion 
 
		#region	外部邮件主体保存 
		///  
		/// 外部邮件主体保存 
		///  
		/// Mail类 
		public void SaveExtMail(jmail.Message JMsg,string Username,string Email,string MessageID)  
		{		 
			 
			// create data object and params 
			Database data = new Database();	 
			/* 
			SqlParameter[] prams = { 
									   data.MakeInParam("@MailID",  SqlDbType.NVarChar , 10, ""), 
									   data.MakeInParam("@Username",  SqlDbType.NVarChar, 300, Username), 
									   data.MakeInParam("@Email",  SqlDbType.NVarChar, 100,"" ), 
									   data.MakeInParam("@ReadFlag",  SqlDbType.Bit,1, 0), 
									   data.MakeInParam("@FolderID",  SqlDbType.Int, 20, 1), 
									   data.MakeInParam("@HeadersText",  SqlDbType.NVarChar, 1000, Msg.Headers.ToString()), 
									   data.MakeInParam("@Subject",  SqlDbType.NVarChar, 100, Msg.Subject.ToString()), 
									   data.MakeInParam("@TextContent",  SqlDbType.NVarChar , 3000, Msg.Text.ToString()), 
									   data.MakeInParam("@HtmlContent",  SqlDbType.NVarChar, 3000, Msg.HTMLBody.ToString()), 
									   data.MakeInParam("@FromName",  SqlDbType.NVarChar, 300, Msg.FromName.ToString()), 
									   data.MakeInParam("@FromEmail",  SqlDbType.NVarChar, 200, Msg.From.ToString()), 
									   data.MakeInParam("@CcTo",  SqlDbType.NVarChar, 200,""), 
									   data.MakeInParam("@BccTo",  SqlDbType.NVarChar, 200, ""), 
									   data.MakeInParam("@Replyto",  SqlDbType.NVarChar, 200, Msg.ReplyTo.ToString()), 
									   data.MakeInParam("@SendDate",  SqlDbType.DateTime, 30, DateTime.Now), 
									   data.MakeInParam("@BodySize",  SqlDbType.NVarChar , 20, ""), 
									   data.MakeInParam("@Size",  SqlDbType.Int, 5,12) 
									  
								   }; 
			*/ 
			SqlParameter[] prams = { 
									   data.MakeInParam("@MailID",    SqlDbType.NVarChar , 100, MessageID), 
									   data.MakeInParam("@Username",  SqlDbType.NVarChar, 300, Username), 
									   data.MakeInParam("@Email",     SqlDbType.NVarChar, 100,Email), 
									   data.MakeInParam("@ReadFlag",  SqlDbType.Bit,1, 0), 
									   data.MakeInParam("@FolderID",  SqlDbType.Int, 20, 1), 
									   data.MakeInParam("@HeadersText",  SqlDbType.NVarChar, 1000, JMsg.Headers .ToString()), 
									   data.MakeInParam("@Subject",   SqlDbType.NVarChar, 100, JMsg.Subject.ToString()), 
									   data.MakeInParam("@TextContent",  SqlDbType.NVarChar , 3000, JMsg.Text.ToString()), 
									   data.MakeInParam("@HtmlContent",  SqlDbType.NVarChar, 3000, JMsg.HTMLBody.ToString()), 
									   data.MakeInParam("@FromName",  SqlDbType.NVarChar, 300, JMsg.FromName.ToString()), 
									   data.MakeInParam("@FromEmail", SqlDbType.NVarChar, 200, ""), 
									   data.MakeInParam("@CcTo",      SqlDbType.NVarChar, 200,""), 
									   data.MakeInParam("@BccTo",     SqlDbType.NVarChar, 200, ""), 
									   data.MakeInParam("@Replyto",   SqlDbType.NVarChar, 200, ""), 
									   data.MakeInParam("@SendDate",  SqlDbType.DateTime, 30, DateTime.Parse(JMsg.Date.ToString())), 
									   data.MakeInParam("@BodySize",  SqlDbType.NVarChar , 20, ""), 
									   data.MakeInParam("@Size",      SqlDbType.Int, 5,12) 
									  
								   }; 
			try  
			{ 
				data.RunProc("SP_MailExtMailAdd", prams); 
				data = null; 
			} 
			catch (Exception ex)  
			{ 
				Error.Log(ex.ToString()); 
				throw new Exception("外部邮件保存出错!",ex); 
			} 
			 
		} 
		#endregion 
		 
		#region 接收外部邮件 
 
		public void ReceiveMails(string Username,int OrderID) 
		{ 
			jmail.Message Msg=new jmail.Message(); 
			jmail.POP3 jpop = new jmail.POP3(); 
			if(OrderID!=0) 
			{ 
				SqlDataReader dataReader = this.ExtGetSetting(Username,OrderID); 
				if(dataReader.Read()) 
				{ 
					if(dataReader["PopServer"].ToString()!=""&&dataReader["PopUsername"].ToString()!="") 
					{ 
						jpop.Connect(dataReader["PopUsername"].ToString(),dataReader["PopPassword"].ToString(),dataReader["PopServer"].ToString(),Int32.Parse(dataReader["PopPort"].ToString())); 
						for(int i=1;i<=jpop.Count;i++) 
						{ 
							Msg = jpop.Messages[i]; 
							this.SaveExtMail(Msg,Username,dataReader["Email"].ToString(),jpop.GetMessageUID(i)); 
							 
						} 
						jpop.Disconnect(); 
					} 
				} 
			} 
			 
		} 
 
		#endregion 
    } 
   
	public class MailMainBody 
	{ 
		private int m_MailFolderType; 
		private string m_MailReceiverStr; 
		private int m_MailSendLevel; 
		private string m_MailSendDate; 
		private string m_MailReceiver; 
		private string m_MailSender; 
		private string m_MailSubject; 
		private string m_MailBody; 
		private string m_MailCcToAddr; 
		private string m_MailBccToAddr; 
		private int m_MailReadFlag; 
		private int m_MailTypeFlag; 
		private int m_MailClassID; 
		private int m_MailImportance; 
		//外部邮件用 
		private string m_ExtHeadersText; 
		private string m_ExtHtmlContent; 
		private string m_ExtFromName; 
		private string m_ExtFromEmail; 
		private string m_ExtReplyTo; 
		private string m_ExtMailID; 
 
 
		public int MailFolderType 
		{	 
			//邮箱类型 
			get { return m_MailFolderType; } 
			set { m_MailFolderType = value; } 
		} 
 
		public string MailReceiverStr  
		{	 
			//收件人字符串,用逗号隔开 
			get { return m_MailReceiverStr; } 
			set { m_MailReceiverStr = value; } 
		} 
		 
		public string MailSendDate  
		{	 
			//发送日期 
			get { return m_MailSendDate; } 
			set { m_MailSendDate = value; } 
		} 
		 
		public int MailSendLevel  
		{	 
			//发送级别 
			get { return m_MailSendLevel; } 
			set { m_MailSendLevel = value; } 
		} 
 
		public string MailSender  
		{	 
			//发件人登陆名 
			get { return m_MailSender; } 
			set { m_MailSender = value; } 
		} 
 
		public string MailReceiver 
		{	 
			//收件件人登陆名 
			get { return m_MailReceiver; } 
			set { m_MailReceiver = value; } 
		} 
		 
		public string MailSubject  
		{	 
			//邮件主题 
			get { return m_MailSubject; } 
			set { m_MailSubject = value; } 
		} 
	 
		public string MailBody  
		{	 
			//邮件主体 
			get { return m_MailBody; } 
			set { m_MailBody = value; } 
		} 
				 
		public string MailCcToAddr  
		{	 
			//抄送地址 
			get { return m_MailCcToAddr; } 
			set { m_MailCcToAddr = value; } 
		} 
 
		public string MailBccToAddr  
		{	 
			//秘密抄送地址 
			get { return m_MailBccToAddr; } 
			set { m_MailBccToAddr = value; } 
		} 
 
		public int MailReadFlag  
		{	 
			//是否已读标志 0 未读 1已读 
			get { return m_MailReadFlag; } 
			set { m_MailReadFlag = value; } 
		} 
 
		public int MailTypeFlag  
		{	 
			//邮件类型 0 为内部 1为外部 
			get { return m_MailTypeFlag; } 
			set { m_MailTypeFlag = value; } 
		} 
 
		public int MailClassID 
		{	 
			//所属项目ID 
			get { return m_MailClassID; } 
			set { m_MailClassID = value; } 
		} 
 
		public int MailImportance 
		{	 
			//邮件重要性  
			get { return m_MailImportance; } 
			set { m_MailImportance = value; } 
		} 
 
		public string ExtHeadersText  
		{	 
			//邮件头信息 
			get { return m_ExtHeadersText; } 
			set { m_ExtHeadersText = value; } 
		} 
 
		public string ExtHtmlContent  
		{	 
			//Html格式邮件内容 
			get { return m_ExtHtmlContent; } 
			set { m_ExtHtmlContent = value; } 
		} 
 
		public string ExtFromName  
		{	 
			//发送人姓名 
			get { return m_ExtFromName; } 
			set { m_ExtFromName = value; } 
		} 
 
		public string ExtFromEmail  
		{	 
			//发送人Email 
			get { return m_ExtFromEmail; } 
			set { m_ExtFromEmail = value; } 
		} 
 
		public string ExtReplyTo  
		{	 
			//回复至 
			get { return m_ExtReplyTo; } 
			set { m_ExtReplyTo = value; } 
		} 
 
		public string ExtMailID  
		{	 
			//邮件的唯一标识 
			get { return m_ExtMailID; } 
			set { m_ExtMailID = value; } 
		} 
 
	} 
 
	public class MailAttachFile 
	{ 
		private int m_FileID; 
		private int m_DocID; 
		private string m_FileName; 
		private int m_FileSize; 
		private int m_FileAttribute; 
		private string m_FileVisualPath; 
		private string m_FileAuthor; 
		private string m_FileCatlog; 
		 
		public int FileID  
		{	 
			//文件ID 
			get { return m_FileID; } 
			set { m_FileID = value; } 
		} 
 
		public int DocID  
		{	 
			//文档ID 
			get { return m_DocID; } 
			set { m_DocID = value; } 
		} 
 
		public string FileName  
		{	 
			//文件名 
			get { return m_FileName; } 
			set { m_FileName = value; } 
		} 
 
		public int FileSize  
		{	 
			//文件大小 
			get { return m_FileSize; } 
			set { m_FileSize = value; } 
		} 
 
		public int FileAttribute  
		{	 
			//文件属性 
			get { return m_FileAttribute; } 
			set { m_FileAttribute = value; } 
		} 
 
		public string FileVisualPath 
		{	 
			//文件虚拟路径 
			get { return m_FileVisualPath; } 
			set { m_FileVisualPath = value; } 
		} 
 
		public string FileAuthor 
		{	 
			//文件作者 
			get { return m_FileAuthor; } 
			set { m_FileAuthor = value; } 
		} 
 
		public string FileCatlog  
		{	 
			//文件类别 
			get { return m_FileCatlog; } 
			set { m_FileCatlog = value; } 
		} 
	} 
}