幸好,ASP.NET使得發(fā)送電子郵件非常輕松。.NET框架版本1.x在System.Web.Mail類中包括了許多類,它們允許以編程方式通過短短的幾行代碼來發(fā)送一個電子郵件。盡管這個命名空間和這些類仍然存在于.NET框架2.0版本中,但是它們已經過時,你可以在 System.Net.Mail命名空間中找到新的與郵件支持相關的類。
在本文中,讓我們來一起探討System.Net.Mail 命名空間中的相關類,并且分析如何從一個ASP.NET2.0頁面的code-behind類中發(fā)送一個電子郵件。我們還要在Web.config中指定中繼服務器消息以及如何把這個消息應用于一些內置ASP.NET服務器控件中以便實現發(fā)送電子郵件(例如當一個用戶創(chuàng)建一個帳戶或需要一個口令提示器/重置器時)。
1.探討System.Net.Mail命名空間中的類
在System.Net.Mail命名空間中共有16個不同的類,它們都與把電子郵件發(fā)送到一個指定的簡單的郵件傳輸協議(SMTP)服務器以便進一步提交有關。在這個命名空間中有兩個核心類是:
·MailMessage:描述一個電子郵件消息;它擁有From,To,Subject,Body等屬性;
·SmtpClient:把一個指定的MailMessage實例發(fā)送到一個指定的SMTP服務器。
典型地,當你從一個ASP.NET 2.0頁面中發(fā)送電子郵件時,你要:
(1)創(chuàng)建一個MailMessage對象;
(2)賦給它屬性;
(3)創(chuàng)建一個SmtpClient類實例;
(4)指定關于使用該SMTP服務器的細節(jié)(如果它們沒有在Web.config中指定);
(5)經由SmtpClient對象的Send方法發(fā)送該MailMessage。
其中,上面的第1步和第2步可以被略過,因為SmtpClient類的Send方法能夠接收一個MailMessage對象或接收四個字符串(分別描述電子郵件消息內容的from,to,subject和body部分)。
System.Net.Mail命名空間中的其它類還提供了更高級的電子郵件功能。例如,這些類能夠用于在一個電子郵件消息中添加附件,把對象嵌入到一個電子郵件,指定SMTP服務器認證消息等;還有一些Exception的派生類用