C#实现的自定义邮件发送类完整实例(支持多人多附件)
本文实例讲述了C#实现的自定义邮件发送类。分享给大家供大家参考,具体如下:
usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Net; usingSystem.Net.Mail; usingSystem.Net.Mime; namespaceConsoleApplication1 { ///<summary> ///发送邮件类的摘要说明 ///</summary> classSendMail { #region数据成员 //收件人地址 privatestringm_To=""; //发件人地址 privatestringm_From=""; //邮件标题 privatestringm_Subject=""; //邮件正文 privatestringm_Body=""; //发送服务器名或地址 privatestringm_Host=""; //发件人用户名 privatestringm_UserName=""; //发件人密码 privatestringm_Password=""; //邮件附件 privatestringm_File=""; #endregion #region构造函数 ///<summary> ///构造函数重载 ///</summary> ///<paramname="to">收件人地址</param> ///<paramname="from">发件人地址</param> ///<paramname="subject">邮件标题</param> ///<paramname="body">邮件正文</param> ///<paramname="host">发送邮件服务器名或地址</param> ///<paramname="userName">发件人用户名</param> ///<paramname="password">发件人密码</param> publicSendMail(stringto,stringfrom,stringsubject,stringbody,stringhost,stringuserName,stringpassword,stringfileName) { m_To=to; m_From=from; m_Subject=subject; m_Body=body; m_Host=host; m_UserName=userName; m_Password=password; m_File=fileName; } #endregion #region数据属性 //收件人地址 publicstringTO { get { returnm_To; } set { m_To=value; } } //发件人地址 publicstringFrom { get { returnm_From; } set { m_From=value; } } //邮件标题 publicstringSubject { get { returnm_Subject; } set { m_Subject=value; } } //邮件正文 publicstringBody { get { returnm_Body; } set { m_Body=value; } } //服务器地址(名) publicstringHost { get { returnm_Host; } set { m_Host=value; } } //发件人的用户名 publicstringUserName { get { returnm_UserName; } set { m_UserName=value; } } //发件人的密码 publicstringPassword { get { returnm_Password; } set { m_Password=value; } } //邮件附件 publicstringFile { get { returnm_File; } set { m_File=value; } } #endregion ///<summary> ///发送邮件 ///</summary> ///<returns>发送是否成功</returns> publicboolSend() { try { //获取所有的收件人地址 char[]ch={','}; string[]address=m_To.Split(ch); MailAddressCollectionallAddress=newMailAddressCollection(); for(inti=0;i<address.Length;i++) { //收件人地址 MailAddresstoAddress=newMailAddress(address[i]); allAddress.Add(toAddress); //发件人地址 MailAddressfromAddress=newMailAddress(m_From); //定义邮件消息 MailMessagemsg=newMailMessage(fromAddress,toAddress); //邮件标题 msg.Subject=m_Subject; //邮件正文 msg.Body=m_Body; //获取所有邮件附件 char[]cr={';'}; string[]file=m_File.Split(cr); for(intn=0;n<file.Length;n++) { if(file[n]!="") { //附件对象 Attachmentdata=newAttachment(file[n],MediaTypeNames.Application.Octet); //附件资料 ContentDispositiondisposition=data.ContentDisposition; disposition.CreationDate=System.IO.File.GetCreationTime(file[n]); disposition.ModificationDate=System.IO.File.GetLastWriteTime(file[n]); disposition.ReadDate=System.IO.File.GetLastAccessTime(file[n]); //加入邮件附件 msg.Attachments.Add(data); } } //使用简单邮件传输协议来传送邮件 SmtpClientsendMail=newSmtpClient(); //发送邮件的服务器名或地址 sendMail.Host=m_Host; //验证发件人的身份 sendMail.Credentials=newNetworkCredential(m_UserName,m_Password); //处理待发送邮件的方法 sendMail.DeliveryMethod=SmtpDeliveryMethod.Network; //发送邮件 sendMail.Send(msg); } returntrue; } catch(Exceptionex) { returnfalse; } } } }
希望本文所述对大家C#程序设计有所帮助。