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#程序设计有所帮助。