www.pudn.com > C++biyesheji.rar > SendMailForm.cs


using System; 
using System.Drawing; 
using System.Collections; 
using System.ComponentModel; 
using System.Windows.Forms; 
using System.Net ; 
using System.Net .Sockets ; 
using MailSend; 
using System.Data ; 
using System.Runtime .InteropServices ; 
namespace MailManageSystem 
{ 
	///  
	/// Send 的摘要说明。 
	///  
	public class SendMailForm : System.Windows.Forms.Form 
	{ 
		private System.Windows.Forms.MainMenu mainMenu1; 
		private System.Windows.Forms.MenuItem menuItem1; 
		private System.Windows.Forms.MenuItem menuItem2; 
		private System.Windows.Forms.MenuItem menuItem3; 
		private System.Windows.Forms.MenuItem menuItem4; 
		private System.Windows.Forms.MenuItem menuItem5; 
		private System.Windows.Forms.MenuItem menuItem6; 
		private System.Windows.Forms.MenuItem menuItem7; 
		private System.Windows.Forms.MenuItem menuItem8; 
		private System.ComponentModel.IContainer components; 
		private System.Windows.Forms.OpenFileDialog openFileDialog1;//语言编码  
 
		private System.Windows.Forms.ToolBar toolBar1; 
		private System.Windows.Forms.ToolBarButton tbSend; 
		private System.Windows.Forms.ToolBarButton tbSave; 
		private System.Windows.Forms.ToolBarButton toolBarButton1; 
		private System.Windows.Forms.ToolBarButton tbAttachment; 
		private System.Windows.Forms.SaveFileDialog saveFileDialog1; 
		private System.Windows.Forms.ImageList imlSendMail; 
		private System.Windows.Forms.ImageList imlAttachment; 
		private System.Windows.Forms.ContextMenu conAttachment; 
		private System.Windows.Forms.MenuItem menuItem9; 
		private System.Windows.Forms.MenuItem menuItem10; 
		private System.Windows.Forms.MenuItem menuItem11; 
		private System.Windows.Forms.MenuItem menuItem12; 
		private System.Windows.Forms.MenuItem menuItem13; 
		private System.Windows.Forms.MenuItem menuItem14; 
		private System.Windows.Forms.MenuItem menuItem15; 
		private System.Windows.Forms.MenuItem menuItem16; 
		private System.Windows.Forms.MenuItem menuItem17; 
		private System.Windows.Forms.GroupBox groupBox2; 
		private System.Windows.Forms.TextBox txtTo; 
		private System.Windows.Forms.Label label3; 
		private System.Windows.Forms.Label label4; 
		private System.Windows.Forms.TextBox txtSubject; 
		private System.Windows.Forms.Splitter splitter1; 
		private System.Windows.Forms.Panel panel1; 
		private System.Windows.Forms.RichTextBox txtMessage; 
		private ArrayList array=new ArrayList (); 
		private System.Windows.Forms.ListView ltAttachment; 
		private System.Windows.Forms.ComboBox cbHtml; 
 
		int i = 0; 
 
		//EntryPoint 给出Dll入口点的名称,如果没有给出,则用方法本身的名称。 
		[DllImport("shell32.dll",EntryPoint="ShellExecute")] 
 
		private static extern int ShellExecute(IntPtr hwnd, string lpOperation,string lpFile, string lpParameters, string lpDirectory, int nShowCmd); 
 
 
 
		//函数SHGetFileInfo()的返回值也随uFlags的取值变化而有所不同。 
		//通过调用SHGetFileInfo()可以由psfi参数得到文件的图标句柄,但要注意在uFlags参数中不使用SHGFI_PIDL时,SHGetFileInfo()不能获得"我的电脑"等虚似文件夹的信息。 
 
		[DllImport("Shell32.dll")] 
		private static extern int SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbFileInfo, SHGFI uFlags); 
 
 
		[StructLayout(LayoutKind.Sequential)] 
		private struct SHFILEINFO 
		{ 
			//重载一个构造函数 
			public SHFILEINFO(bool b) 
			{ 
				hIcon = IntPtr.Zero ; iIcon = 0; dwAttributes = 0; szDisplayName = ""; szTypeName = ""; 
			} 
			public IntPtr hIcon; 
			public int iIcon; 
			public uint dwAttributes; 
			[MarshalAs(UnmanagedType.LPStr, SizeConst =256)] 
			public string szDisplayName; 
			[MarshalAs(UnmanagedType.LPStr, SizeConst = 80)] 
			public string szTypeName; 
		}; 
 
		//图标类型的结构体 
		private enum SHGFI 
		{ 
			SHGFI_ICON            =0x000000100,     // get icon 
			SHGFI_DISPLAYNAME     =0x000000200,     // get display name 
			SHGFI_TYPENAME        =0x000000400,     // get type name 
			SHGFI_ATTRIBUTES      =0x000000800,     // get attributes 
			SHGFI_ICONLOCATION    =0x000001000,     // get icon location 
			SHGFI_EXETYPE         =0x000002000,     // return exe type 
			SHGFI_SYSICONINDEX	  =0x000004000,     // get system icon index 
			SHGFI_LINKOVERLAY     =0x000008000,     // put a link overlay on icon 
			SHGFI_SELECTED        =0x000010000,     // show icon in selected state 
			SHGFI_ATTR_SPECIFIED  =0x000020000,     // get only specified attributes 
			SHGFI_LARGEICON       =0x000000000,     // get large icon 
			SHGFI_SMALLICON       =0x000000001,     // get small icon 
			SHGFI_OPENICON        =0x000000002,     // get open icon 
			SHGFI_SHELLICONSIZE   =0x000000004,     // get shell size icon 
			SHGFI_PIDL			  =0x000000008,     // pszPath is a pidl 
			SHGFI_USEFILEATTRIBUTES     =0x000000010,     // use passed dwFileAttribute 
			SHGFI_ADDOVERLAYS           =0x000000020,     // apply the appropriate overlays 
			SHGFI_OVERLAYINDEX          =0x000000040     // Get the index of the overlay 
 
		} 
 
		///  
		/// 调用获的程序图标句柄的函数 
		///  
		/// 选定程序的绝对路径 
		///  
 
		private  static Icon GetIcon(string strPath) 
		{ 
			try 
			{ 
				SHFILEINFO info = new SHFILEINFO(); 
				int cbFileInfo = Marshal.SizeOf(info); 
				SHGFI flags; 
			 
				flags = SHGFI.SHGFI_ICON|SHGFI.SHGFI_LARGEICON|SHGFI.SHGFI_ATTRIBUTES|SHGFI.SHGFI_EXETYPE; 
 
				SHGetFileInfo(strPath, 32|0, ref  info,(uint)cbFileInfo,flags); 
				return Icon.FromHandle(info.hIcon); 
			} 
			catch(Exception ex) 
			{ 
				MessageBox.Show (ex.ToString ()); 
				return null; 
			} 
		} 
			 
 
		 
 
 
 
 
		 
    
		 
		 
 
		public SendMailForm() 
		{ 
			// 
			// Windows 窗体设计器支持所必需的 
			// 
			 
			InitializeComponent(); 
 
			// 
			// TODO: 在 InitializeComponent 调用后添加任何构造函数代码 
			// 
		} 
 
		///  
		/// 清理所有正在使用的资源。 
		///  
		protected override void Dispose( bool disposing ) 
		{ 
			if( disposing ) 
			{ 
				if(components != null) 
				{ 
					components.Dispose(); 
				} 
			} 
			base.Dispose( disposing ); 
		} 
 
		#region Windows 窗体设计器生成的代码 
		///  
		/// 设计器支持所需的方法 - 不要使用代码编辑器修改 
		/// 此方法的内容。 
		///  
		private void InitializeComponent() 
		{ 
			this.components = new System.ComponentModel.Container(); 
			System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(SendMailForm)); 
			this.mainMenu1 = new System.Windows.Forms.MainMenu(); 
			this.menuItem1 = new System.Windows.Forms.MenuItem(); 
			this.menuItem2 = new System.Windows.Forms.MenuItem(); 
			this.menuItem3 = new System.Windows.Forms.MenuItem(); 
			this.menuItem8 = new System.Windows.Forms.MenuItem(); 
			this.menuItem4 = new System.Windows.Forms.MenuItem(); 
			this.menuItem5 = new System.Windows.Forms.MenuItem(); 
			this.menuItem6 = new System.Windows.Forms.MenuItem(); 
			this.menuItem7 = new System.Windows.Forms.MenuItem(); 
			this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); 
			this.toolBar1 = new System.Windows.Forms.ToolBar(); 
			this.tbSend = new System.Windows.Forms.ToolBarButton(); 
			this.tbSave = new System.Windows.Forms.ToolBarButton(); 
			this.toolBarButton1 = new System.Windows.Forms.ToolBarButton(); 
			this.tbAttachment = new System.Windows.Forms.ToolBarButton(); 
			this.imlSendMail = new System.Windows.Forms.ImageList(this.components); 
			this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog(); 
			this.imlAttachment = new System.Windows.Forms.ImageList(this.components); 
			this.conAttachment = new System.Windows.Forms.ContextMenu(); 
			this.menuItem9 = new System.Windows.Forms.MenuItem(); 
			this.menuItem10 = new System.Windows.Forms.MenuItem(); 
			this.menuItem11 = new System.Windows.Forms.MenuItem(); 
			this.menuItem12 = new System.Windows.Forms.MenuItem(); 
			this.menuItem13 = new System.Windows.Forms.MenuItem(); 
			this.menuItem14 = new System.Windows.Forms.MenuItem(); 
			this.menuItem15 = new System.Windows.Forms.MenuItem(); 
			this.menuItem17 = new System.Windows.Forms.MenuItem(); 
			this.menuItem16 = new System.Windows.Forms.MenuItem(); 
			this.groupBox2 = new System.Windows.Forms.GroupBox(); 
			this.cbHtml = new System.Windows.Forms.ComboBox(); 
			this.txtTo = new System.Windows.Forms.TextBox(); 
			this.label3 = new System.Windows.Forms.Label(); 
			this.label4 = new System.Windows.Forms.Label(); 
			this.txtSubject = new System.Windows.Forms.TextBox(); 
			this.ltAttachment = new System.Windows.Forms.ListView(); 
			this.splitter1 = new System.Windows.Forms.Splitter(); 
			this.panel1 = new System.Windows.Forms.Panel(); 
			this.txtMessage = new System.Windows.Forms.RichTextBox(); 
			this.groupBox2.SuspendLayout(); 
			this.panel1.SuspendLayout(); 
			this.SuspendLayout(); 
			//  
			// mainMenu1 
			//  
			this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { 
																					  this.menuItem1, 
																					  this.menuItem5, 
																					  this.menuItem6}); 
			//  
			// menuItem1 
			//  
			this.menuItem1.Index = 0; 
			this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { 
																					  this.menuItem2, 
																					  this.menuItem3, 
																					  this.menuItem8, 
																					  this.menuItem4}); 
			this.menuItem1.Text = "邮件(M)"; 
			//  
			// menuItem2 
			//  
			this.menuItem2.Index = 0; 
			this.menuItem2.Text = "立即发送"; 
			this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click); 
			//  
			// menuItem3 
			//  
			this.menuItem3.Index = 1; 
			this.menuItem3.Text = "草稿"; 
			//  
			// menuItem8 
			//  
			this.menuItem8.Index = 2; 
			this.menuItem8.Text = "-"; 
			//  
			// menuItem4 
			//  
			this.menuItem4.Index = 3; 
			this.menuItem4.Text = "退出"; 
			this.menuItem4.Click += new System.EventHandler(this.menuItem4_Click); 
			//  
			// menuItem5 
			//  
			this.menuItem5.Index = 1; 
			this.menuItem5.Text = ""; 
			//  
			// menuItem6 
			//  
			this.menuItem6.Index = 2; 
			this.menuItem6.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { 
																					  this.menuItem7}); 
			this.menuItem6.Text = "插入(I)"; 
			//  
			// menuItem7 
			//  
			this.menuItem7.Index = 0; 
			this.menuItem7.Text = "增加附件"; 
			this.menuItem7.Click += new System.EventHandler(this.menuItem7_Click); 
			//  
			// toolBar1 
			//  
			this.toolBar1.Appearance = System.Windows.Forms.ToolBarAppearance.Flat; 
			this.toolBar1.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] { 
																						this.tbSend, 
																						this.tbSave, 
																						this.toolBarButton1, 
																						this.tbAttachment}); 
			this.toolBar1.ButtonSize = new System.Drawing.Size(100, 80); 
			this.toolBar1.DropDownArrows = true; 
			this.toolBar1.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))); 
			this.toolBar1.ImageList = this.imlSendMail; 
			this.toolBar1.Location = new System.Drawing.Point(0, 0); 
			this.toolBar1.Name = "toolBar1"; 
			this.toolBar1.ShowToolTips = true; 
			this.toolBar1.Size = new System.Drawing.Size(800, 41); 
			this.toolBar1.TabIndex = 3; 
			this.toolBar1.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar1_ButtonClick); 
			//  
			// tbSend 
			//  
			this.tbSend.ImageIndex = 0; 
			this.tbSend.Text = "发送"; 
			//  
			// tbSave 
			//  
			this.tbSave.ImageIndex = 1; 
			this.tbSave.Text = "保存"; 
			//  
			// toolBarButton1 
			//  
			this.toolBarButton1.Style = System.Windows.Forms.ToolBarButtonStyle.Separator; 
			//  
			// tbAttachment 
			//  
			this.tbAttachment.ImageIndex = 2; 
			this.tbAttachment.Text = "附件"; 
			//  
			// imlSendMail 
			//  
			this.imlSendMail.ImageSize = new System.Drawing.Size(16, 16); 
			this.imlSendMail.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imlSendMail.ImageStream"))); 
			this.imlSendMail.TransparentColor = System.Drawing.Color.Transparent; 
			//  
			// imlAttachment 
			//  
			this.imlAttachment.ImageSize = new System.Drawing.Size(16, 16); 
			this.imlAttachment.TransparentColor = System.Drawing.Color.Transparent; 
			//  
			// conAttachment 
			//  
			this.conAttachment.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { 
																						  this.menuItem9, 
																						  this.menuItem10, 
																						  this.menuItem11, 
																						  this.menuItem12, 
																						  this.menuItem13, 
																						  this.menuItem14}); 
			//  
			// menuItem9 
			//  
			this.menuItem9.Index = 0; 
			this.menuItem9.Shortcut = System.Windows.Forms.Shortcut.Alt0; 
			this.menuItem9.Text = "增加(A)..."; 
			this.menuItem9.Click += new System.EventHandler(this.menuItem9_Click_1); 
			//  
			// menuItem10 
			//  
			this.menuItem10.Index = 1; 
			this.menuItem10.Shortcut = System.Windows.Forms.Shortcut.Alt1; 
			this.menuItem10.Text = "删除(D)..."; 
			this.menuItem10.Click += new System.EventHandler(this.menuItem10_Click); 
			//  
			// menuItem11 
			//  
			this.menuItem11.Index = 2; 
			this.menuItem11.Text = "-"; 
			//  
			// menuItem12 
			//  
			this.menuItem12.Index = 3; 
			this.menuItem12.Shortcut = System.Windows.Forms.Shortcut.Alt2; 
			this.menuItem12.Text = "打开(O)..."; 
			this.menuItem12.Click += new System.EventHandler(this.menuItem12_Click); 
			//  
			// menuItem13 
			//  
			this.menuItem13.Index = 4; 
			this.menuItem13.Text = "-"; 
			//  
			// menuItem14 
			//  
			this.menuItem14.Index = 5; 
			this.menuItem14.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] { 
																					   this.menuItem15, 
																					   this.menuItem17, 
																					   this.menuItem16}); 
			this.menuItem14.Text = "排列图标(V)..."; 
			//  
			// menuItem15 
			//  
			this.menuItem15.Index = 0; 
			this.menuItem15.Text = "大图标"; 
			this.menuItem15.Click += new System.EventHandler(this.menuItem15_Click_1); 
			//  
			// menuItem17 
			//  
			this.menuItem17.Index = 1; 
			this.menuItem17.Text = "小图标"; 
			this.menuItem17.Click += new System.EventHandler(this.menuItem17_Click); 
			//  
			// menuItem16 
			//  
			this.menuItem16.Index = 2; 
			this.menuItem16.Text = "列表"; 
			this.menuItem16.Click += new System.EventHandler(this.menuItem16_Click_1); 
			//  
			// groupBox2 
			//  
			this.groupBox2.Controls.Add(this.cbHtml); 
			this.groupBox2.Controls.Add(this.txtTo); 
			this.groupBox2.Controls.Add(this.label3); 
			this.groupBox2.Controls.Add(this.label4); 
			this.groupBox2.Controls.Add(this.txtSubject); 
			this.groupBox2.Dock = System.Windows.Forms.DockStyle.Top; 
			this.groupBox2.FlatStyle = System.Windows.Forms.FlatStyle.System; 
			this.groupBox2.Location = new System.Drawing.Point(0, 41); 
			this.groupBox2.Name = "groupBox2"; 
			this.groupBox2.Size = new System.Drawing.Size(800, 104); 
			this.groupBox2.TabIndex = 4; 
			this.groupBox2.TabStop = false; 
			this.groupBox2.Text = "邮件头"; 
			//  
			// cbHtml 
			//  
			this.cbHtml.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); 
			this.cbHtml.Items.AddRange(new object[] { 
														"HTML邮件", 
														"纯文本邮件"}); 
			this.cbHtml.Location = new System.Drawing.Point(704, 72); 
			this.cbHtml.Name = "cbHtml"; 
			this.cbHtml.Size = new System.Drawing.Size(88, 20); 
			this.cbHtml.TabIndex = 8; 
			this.cbHtml.Text = "HTML邮件"; 
			//  
			// txtTo 
			//  
			this.txtTo.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)  
				| System.Windows.Forms.AnchorStyles.Left)  
				| System.Windows.Forms.AnchorStyles.Right))); 
			this.txtTo.Location = new System.Drawing.Point(88, 72); 
			this.txtTo.Name = "txtTo"; 
			this.txtTo.Size = new System.Drawing.Size(584, 21); 
			this.txtTo.TabIndex = 6; 
			this.txtTo.Text = "yinhu82@163.com,yinhu82@sina.com.cn"; 
			//  
			// label3 
			//  
			this.label3.Location = new System.Drawing.Point(24, 72); 
			this.label3.Name = "label3"; 
			this.label3.Size = new System.Drawing.Size(48, 23); 
			this.label3.TabIndex = 5; 
			this.label3.Text = "收件人:"; 
			this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 
			//  
			// label4 
			//  
			this.label4.Location = new System.Drawing.Point(16, 32); 
			this.label4.Name = "label4"; 
			this.label4.Size = new System.Drawing.Size(64, 23); 
			this.label4.TabIndex = 4; 
			this.label4.Text = "邮件主题:"; 
			this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; 
			//  
			// txtSubject 
			//  
			this.txtSubject.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)  
				| System.Windows.Forms.AnchorStyles.Left)  
				| System.Windows.Forms.AnchorStyles.Right))); 
			this.txtSubject.Location = new System.Drawing.Point(88, 32); 
			this.txtSubject.Name = "txtSubject"; 
			this.txtSubject.Size = new System.Drawing.Size(664, 21); 
			this.txtSubject.TabIndex = 7; 
			this.txtSubject.Text = "最新版"; 
			//  
			// ltAttachment 
			//  
			this.ltAttachment.AllowDrop = true; 
			this.ltAttachment.ContextMenu = this.conAttachment; 
			this.ltAttachment.Dock = System.Windows.Forms.DockStyle.Bottom; 
			this.ltAttachment.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None; 
			this.ltAttachment.LargeImageList = this.imlAttachment; 
			this.ltAttachment.Location = new System.Drawing.Point(0, 392); 
			this.ltAttachment.Name = "ltAttachment"; 
			this.ltAttachment.Size = new System.Drawing.Size(800, 97); 
			this.ltAttachment.TabIndex = 5; 
			this.ltAttachment.DragDrop += new System.Windows.Forms.DragEventHandler(this.listView1_DragDrop); 
			this.ltAttachment.DragEnter += new System.Windows.Forms.DragEventHandler(this.listView1_DragEnter); 
			//  
			// splitter1 
			//  
			this.splitter1.BackColor = System.Drawing.Color.FromArgb(((System.Byte)(192)), ((System.Byte)(192)), ((System.Byte)(255))); 
			this.splitter1.Dock = System.Windows.Forms.DockStyle.Bottom; 
			this.splitter1.Location = new System.Drawing.Point(0, 388); 
			this.splitter1.Name = "splitter1"; 
			this.splitter1.Size = new System.Drawing.Size(800, 4); 
			this.splitter1.TabIndex = 6; 
			this.splitter1.TabStop = false; 
			//  
			// panel1 
			//  
			this.panel1.Controls.Add(this.txtMessage); 
			this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; 
			this.panel1.Location = new System.Drawing.Point(0, 145); 
			this.panel1.Name = "panel1"; 
			this.panel1.Size = new System.Drawing.Size(800, 243); 
			this.panel1.TabIndex = 7; 
			//  
			// txtMessage 
			//  
			this.txtMessage.Dock = System.Windows.Forms.DockStyle.Fill; 
			this.txtMessage.Location = new System.Drawing.Point(0, 0); 
			this.txtMessage.Name = "txtMessage"; 
			this.txtMessage.Size = new System.Drawing.Size(800, 243); 
			this.txtMessage.TabIndex = 0; 
			this.txtMessage.Text = "呵呵 这是第一封试验邮件"; 
			//  
			// SendMailForm 
			//  
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14); 
			this.ClientSize = new System.Drawing.Size(800, 489); 
			this.Controls.Add(this.panel1); 
			this.Controls.Add(this.splitter1); 
			this.Controls.Add(this.ltAttachment); 
			this.Controls.Add(this.groupBox2); 
			this.Controls.Add(this.toolBar1); 
			this.Menu = this.mainMenu1; 
			this.Name = "SendMailForm"; 
			this.Text = "Send"; 
			this.Load += new System.EventHandler(this.SendMailForm_Load); 
			this.groupBox2.ResumeLayout(false); 
			this.panel1.ResumeLayout(false); 
			this.ResumeLayout(false); 
 
		} 
		#endregion 
 
 
		//发送邮件 
		private void menuItem2_Click(object sender, System.EventArgs e) 
		{ 
			bool html=false; 
			if(this.cbHtml .Text=="HTML邮件"|this.cbHtml .Text =="纯文本邮件") 
			{ 
				if(this.cbHtml .Text=="HTML邮件") 
					html=true; 
				else if(this.cbHtml .Text=="纯文本邮件") 
					html=false; 
			} 
			else  
			{ 
				MessageBox.Show ("请做出有效的邮件格式选择"); 
				this.cbHtml .Text ="HTML邮件"; 
				return; 
			} 
				 
			SmtpMail send=new SmtpMail (array); 
			Cursor.Current =Cursors.WaitCursor ; 
			send.Charset ="GB2312"; 
			send.Priority ="Normal"; 
			send.eSmtp=true; 
			send.MailServerUserName =SystemManage.UserName ; 
			send.MailServerPassWord =SystemManage.PassWd ; 
			send.Send (SystemManage.SmtpName,SystemManage.MailAddress ,SystemManage.AccountName,this.txtTo .Text ,html,this.txtSubject .Text ,this.txtMessage .Text ); 
			Cursor.Current =Cursors.Default ; 
			SystemManage.letterNumber ++; 
			ltAttachment  .Items .Clear (); 
			this.Close (); 
		} 
		 
	 
 
		private void menuItem4_Click(object sender, System.EventArgs e) 
		{ 
			this.Close (); 
		} 
 
		//添加附件名称和图标的函数 
		private void btnAdd_Click() 
		{ 
 
			if(this.openFileDialog1 .ShowDialog()==DialogResult.OK) 
			{ 
				array.Add (this.openFileDialog1 .FileName ); 
				AddIcon(this.openFileDialog1.FileName); 
				ltAttachment  .Visible =true; 
				this.splitter1 .Visible =true; 
			} 
		} 
 
 
		 
		///  
		/// 判断加入的文件格式,并添加到附件ListView中 
		///  
		///  
		private void AddIcon(string fileType) 
		{ 
			//string type = fileType.Substring(fileType.Length - 3); 
			try  
			{ 
				string Name = fileType.Substring(fileType.LastIndexOf(@"\") + 1); 
				this.imlAttachment.Images.Add(GetIcon(fileType)); 
				this.ltAttachment.LargeImageList = this.imlAttachment; 
				this.ltAttachment .SmallImageList =this.imlAttachment ; 
				this.ltAttachment .Items .Add (Name,i++); 
			} 
			catch(Exception ex) 
			{ 
				MessageBox.Show(ex.ToString ()); 
			} 
		} 
 
			 
 
			 
		 
			 
			 
 
		private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e) 
		{ 
			switch(this.toolBar1 .Buttons.IndexOf (e.Button )) 
			{ 
				case 0: 
					menuItem2_Click(null,null); 
					break; 
				case 1: 
					this.saveFileDialog1.Title ="保存信件"; 
					this.saveFileDialog1 .Filter ="文本文件(*.txt)|*.txt|All Files(*.*)|*.*"; 
					AddExtra extra=new AddExtra( array); 
					string info="SMTP地址:"+SystemManage.SmtpName+"\r\n用户名:"+SystemManage.UserName+"\r\n密码:"+SystemManage.PassWd+"\r\n发信人地址:"+SystemManage.MailAddress+"\r\n主题:"+this.txtSubject .Text+"\r\n收信人地址:"+this.txtTo .Text +"\r\n信件内容:"+this.txtMessage .Text+"\r\n"; 
					if(this.saveFileDialog1 .ShowDialog ()==DialogResult.OK ) 
					{ 
						extra.SaveLetter (this.saveFileDialog1 .FileName,info); 
						MessageBox.Show ("信件保存成功!"); 
					} 
					break; 
				 
				case 3: 
					btnAdd_Click(); 
					break; 
				 
				default: 
				 
					MessageBox.Show ("此功能还没有完善"); 
					break; 
				 
			} 
		} 
 
		private void menuItem7_Click(object sender, System.EventArgs e) 
		{ 
			btnAdd_Click(); 
		} 
 
		private void SendMailForm_Load(object sender, System.EventArgs e) 
		{ 
			ltAttachment  .Visible =false; 
			this.splitter1 .Visible =false; 
		} 
 
 
 
		//附件的"删除"操作 
		private void menuItem10_Click(object sender, System.EventArgs e) 
		{ 
			try 
			{ 
				if(ltAttachment  .Items .Count >1) 
				{ 
					//因为在添加一个附件的时候,刚好也是添加了一个ListView中的文件名 
					//所以他们的索引值是相同的。所以可以通过选中的ListView的索引值来删除附件 
					array.RemoveAt (ltAttachment.SelectedItems [0].Index ); 
					ltAttachment .Items .RemoveAt (ltAttachment  .SelectedIndices[0] ); 
				} 
				else if(ltAttachment  .Items .Count ==1) 
		 
				{ 
					array.RemoveAt(ltAttachment .SelectedItems [0].Index); 
					ltAttachment .Items .RemoveAt (ltAttachment  .SelectedIndices[0] ); 
					this.splitter1 .Visible =false; 
					ltAttachment  .Visible =false; 
				}	 
			} 
			catch(Exception ex) 
			{ 
				MessageBox.Show (ex.ToString ()); 
			} 
		} 
 
		private void menuItem9_Click_1(object sender, System.EventArgs e) 
		{ 
			btnAdd_Click(); 
		 
		} 
 
		private void menuItem15_Click_1(object sender, System.EventArgs e) 
		{ 
			ltAttachment  .View =View.LargeIcon ; 
		} 
 
		private void menuItem17_Click(object sender, System.EventArgs e) 
		{ 
			ltAttachment  .View =View.SmallIcon ; 
		 
		} 
 
		private void menuItem16_Click_1(object sender, System.EventArgs e) 
		{ 
			ltAttachment  .View =View.List; 
		} 
 
		 
		//"打开"操作 
		private void menuItem12_Click(object sender, System.EventArgs e) 
		{ 
			try 
			{ 
				if (this.ltAttachment.SelectedItems[0].ToString() != "") 
				{ 
					int length = this.ltAttachment.SelectedItems[0].ToString().Length; 
					string ss = this.ltAttachment.SelectedItems[0].ToString().Substring(15, length - 16); 
					ShellExecute(IntPtr.Zero, "Open", ss, null, null, 0); 
				} 
			} 
			catch(Exception ex) 
			{ 
				MessageBox.Show (ex.ToString ()); 
			} 
		} 
				 
				 
			 
		 
		//以下的两个事件是用来支持在添加附件时候的拖放操作的 
		private void listView1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) 
		{ 
			try 
			{ 
				if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
				{ 
					string[] files = (string[])e.Data.GetData(DataFormats.FileDrop); 
 
				 
					for (int i = 0; i < files.Length; i++) 
					{ 
						array.Add(files[i]); 
						AddIcon(files[i]); 
					} 
				} 
			} 
			catch(Exception ex) 
			{ 
				MessageBox.Show (ex.ToString ()); 
			} 
			 
		 
		} 
 
		private void listView1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e) 
		{ 
			try 
			{ 
				if (e.Data.GetDataPresent(DataFormats.FileDrop)) 
					e.Effect = DragDropEffects.Copy; 
				else 
					e.Effect = DragDropEffects.None; 
			} 
			catch(Exception ex) 
			{ 
				MessageBox.Show (ex.ToString ()); 
			} 
		 
		} 
 
	} 
}