Chad 2009-11-14

使用System.Net.Mail发送email时,通常是先实例化一个MailMessage类:

Code - C#Plain Text
 
  1. System.Net.Mail.MailMessage myMail = new System.Net.Mail.MailMessage();  
  2.   
  3. myMail.From = new System.Net.Mail.MailAddress("system@inluck.net""System");  
  4. myMail.To.Add("chad@inluck.net");  
  5. myMail.Subject = subject;  
  6. myMail.Body = content;  

然后,再使用SmtpClient来发送:

Code - C#Plain Text
 
  1. System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient("smtpHost");  
  2. client.Credentials = new NetworkCredential("username""password");  
  3. client.Send(myMail);  

除了在代码里直接填stmp服务器及credential信息外,其实还可以在web.config里配置:

Code - XML/HTMLPlain Text
 
  1. <system.net>  
  2.     <mailSettings>  
  3.         <smtp from="system@inluck.net">  
  4.             <network host="smtpHost" port="25" userName="username" password="password" defaultCredentials="true" />  
  5.         </smtp>              
  6.     </mailSettings>  
  7. </system.net>  

这时,实例化SmtpClient时就可以使用已经配置好的信息:

Code - C#Plain Text
 
  1. System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();  
  2. client.Send(myMail);  

 

参考:http://weblogs.asp.net/scottgu/archive/2005/12/16/432854.aspx