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);//发送邮件