C#最初采用的是System.Web.Mail命名空间下的类发送邮件,后来经过改进,采用System.Net.Mail命名空间下的类发送邮件.当然前者仍然可用,只是后者功能更强大.
用System.Net.Mail发送邮件的原理如下:
核心就是调用SmtpClient类的send(newMessage)方法,其中的参数newMessage是一个MailMessage对象,所以我们在调用send(newMessage)方法前,须实例化MailMessage类,然后对newMessage的属性设值,具体代码如下:
MailMessage newMessage=new MailMessage();
newMessage.From=new MailAddress(From,FromName);//设置发件人的地址
//因收件人可能不止一个,所以需要解剖出来,下面的语句为解剖语句:
string[] ToList=To.Split(';');
foreach(string strTo in ToList)
{
if(strTo!=""&&strTo!=null)
{
newMessage.To.Add(new MailAddress(strTo));
}
}
//解剖抄送人
string[] CCList=CC.Split(';');
foreach(string strCC in CCList)
{
if(strCC!=""&&strCC!=null)
{
newMessage.To.Add(new MailAddress(strCC));
}
}
newMessage.Subject=subject;
newMessage.Body=body;
newMessage.IsBodyHtml=true;
//好了,MailMessage对象已经搞定,接下来该实例化StmpClient类了
SmtpClient smtp=new SmtpClient(SmtpServer);//此处的SmtpServer为邮件服务器地址
//设置传输方式
smtp.DeliveryMethod=SmtpDeliveryMethod.NetWork;
smtp.send(newMessage);//发送邮件