【陳晨】ASP.NET 2.0中傳送電子郵件

iDotNetSpace發表於2008-06-16
ASP.NET 2.0 中傳送電子郵件變得非常簡單。傳送電子郵件的類庫主要在名稱空間System.Net.Mail中,在這個名稱空間中有兩個核心類是:
      · MailMessage:描述一個電子郵件訊息;它擁有From,To,Subject,Body等屬性;
      · SmtpClient:把一個指定的MailMessage例項傳送到一個指定的SMTP伺服器。

      傳送電子郵件的一般步驟是:
      1.建立一個MailMessage物件;
      2.賦給它的From,To,Subject,Body等屬性;
      3.建立一個SmtpClient類例項;
      4.指定關於使用該SMTP伺服器的細節(如果它們沒有在Web.config中指定);
      5.經由SmtpClient物件的Send方法傳送該MailMessage。
      
      下面的程式碼演示了傳送電子郵件的過程:
string mailServerName = "smtp.126.com";  //傳送郵件的SMTP伺服器
string mailFrom = "sender0624@126.com";   //發件人郵箱(用126的郵件伺服器,就必須用126郵箱的使用者名稱)
string mailTo = "supremezone@126.com";   //收件人郵箱
string subject = "用程式碼方式傳送郵件";//郵件主題
string body = "這裡是郵件正文了";  //郵件正文

using (MailMessage message = new MailMessage(mailFrom, mailTo, subject, body))
{
    
//SmtpClient是傳送郵件的主體,這個建構函式是告知SmtpClient傳送郵件時使用哪個SMTP伺服器
    SmtpClient mailClient = new SmtpClient(mailServerName);
    
//將認證例項賦予mailClient,也就是訪問SMTP伺服器的使用者名稱和密碼
    mailClient.Credentials = new NetworkCredential("sender0624""111111");
    
//最終的傳送方法
    mailClient.Send(message);
}

       上述方法是通過Code方式傳送郵件的,而在Asp.Net 2.0中Framework考慮更多的是配置式,也就是通過config方式來進行應用程式的控制,減少程式引數硬編碼,這個配置節屬於節下的。
        首先在Web.config檔案中增加如下配置節:
 <system.net>
    
<!--如果是第三方smtp伺服器,需要指定userName 和 password,並根據host指定發件人郵件地址from
        測試發現from值必須是userName值加上指定的smpt伺服器才行,而且是必須指定的
        如果是本機smtp伺服器,只需指定defaultCredentials="true"即可
--&gt
    
<mailSettings>
      
<smtp deliveryMethod="Network" from ="sender0624@126.com" >
        
<network host="smtp.126.com" port="25" userName="sender0624" password="111111/>
      
smtp>
    
mailSettings>
  
system.net>

        接下來是程式程式碼,你會發現配置方式較Code方式程式碼是多麼簡潔,而且避免了硬編碼,Smtp資訊是從配置檔案中讀取的。
using (MailMessage message = new MailMessage())
{
    message.To.Add(
new MailAddress("supremezone@126.com")); //收件人郵箱
    message.Subject = "通過配置檔案設定傳送郵件";//郵件主題
    message.Body = "這裡是郵件正文了";  //郵件正文

    SmtpClient mailClient 
= new SmtpClient();
    mailClient.Send(message);
}

        相比Code方式,我們發現配置方式程式碼中省去了發件人郵箱,SMTP伺服器和SMTP伺服器認證的Credentials,程式碼變得相當簡潔,更為重要的是這些資訊可以在Web.config檔案中配置,這就大大增加了程式的靈活性,這是推薦採用的方式

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-349312/,如需轉載,請註明出處,否則將追究法律責任。

相關文章