ASP.NET 2.0 中發(fā)送電子郵件變得非常簡單。發(fā)送電子郵件的類庫主要在命名空間System.Net.Mail中,在這個(gè)命名空間中有兩個(gè)核心類是:
· MailMessage:描述一個(gè)電子郵件消息;它擁有From,To,Subject,Body等屬性; · SmtpClient:把一個(gè)指定的MailMessage實(shí)例發(fā)送到一個(gè)指定的SMTP服務(wù)器。 發(fā)送電子郵件的一般步驟是: 1.創(chuàng)建一個(gè)MailMessage對(duì)象; 2.賦給它的From,To,Subject,Body等屬性; 3.創(chuàng)建一個(gè)SmtpClient類實(shí)例; 4.指定關(guān)于使用該SMTP服務(wù)器的細(xì)節(jié)(如果它們沒有在Web.config中指定); 5.經(jīng)由SmtpClient對(duì)象的Send方法發(fā)送該MailMessage。 下面的代碼演示了發(fā)送電子郵件的過程: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 上述方法是通過Code方式發(fā)送郵件的,而在Asp.Net 2.0中Framework考慮更多的是配置式,也就是通過config方式來進(jìn)行應(yīng)用程序的控制,減少程序參數(shù)硬編碼,這個(gè)配置節(jié)屬于<system.net>節(jié)下的。 首先在Web.config文件中增加如下配置節(jié): ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 接下來是程序代碼,你會(huì)發(fā)現(xiàn)配置方式較Code方式代碼是多么簡潔,而且避免了硬編碼,Smtp信息是從配置文件中讀取的。 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 相比Code方式,我們發(fā)現(xiàn)配置方式代碼中省去了發(fā)件人郵箱,SMTP服務(wù)器和SMTP服務(wù)器認(rèn)證的Credentials,代碼變得相當(dāng)簡潔,更為重要的是這些信息可以在Web.config文件中配置,這就大大增加了程序的靈活性,這是推薦采用的方式。需要說明的一點(diǎn),示例中的郵箱用戶名和密碼都是真實(shí)的,理論上運(yùn)行該示例程序是可以正常發(fā)送郵件的,但發(fā)送郵件時(shí)程序會(huì)拋出異常“郵箱不可用。 服務(wù)器響應(yīng)為: Óû§±»Ëø¶¨ ”,但如果Credentials認(rèn)證信息換成我另一個(gè)126郵箱,卻能正常發(fā)送郵件了,一直沒能找到原因所在,將對(duì)SmtpClient發(fā)送郵件的穩(wěn)定性做進(jìn)一步的研究,也希望能得到大家的指導(dǎo)。 參考資料:ASP.NET 2.0中發(fā)送電子郵件剖析之一,.Net 2.0 中的發(fā)送郵件實(shí)現(xiàn)小解。 |
|