ASP.NET 2.0發(fā)送電子郵件中存在的問題_.Net教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:ASP.NET 2.0中層次數(shù)據(jù)的處理
        數(shù)據(jù)源控件可以同時暴露平面表格式的或?qū)哟蔚臄?shù)據(jù)。前面演示的SqlDataSource和ObjectDataSource控件都是平面表格式的數(shù)據(jù)源控件。ASP.NET 2.0還包含兩個層次數(shù)據(jù)源控件:用于連接XML文件的X

        在新發(fā)行的ASP.NET 2.0版本中,微軟不再建議使用System.Web.Mail命名空間而代之以新的System.Net.Mail命名空間。在這個新庫中引入了許多新特征,但是在發(fā)送郵件的方式方面也相應(yīng)地帶入了一些小錯誤。

        一、 發(fā)送郵件

        在詳細(xì)討論這些小錯誤之前,讓我們先看一段示例代碼(我們假定你已經(jīng)在文件開始添加了"using System.Net.Mail"):

      MailMessage msg = new MailMessage();
      msg.From = new MailAddress("address@domain.com", "Person's Name");
      msg.To.Add(new MailAddress("destination@domain.com", "Addressee's Name");
      msg.To.Add(new MailAddress("destination2@domain.com", "Addressee 2's Name");
      msg.Subject = "Message Subject";
      msg.Body = "Mail body content";
      msg.IsBodyHtml = true;
      msg.Priority = MailPriority.High;
      SmtpClient c = new SmtpClient("mailserver.domain.com");
      c.Send(msg);

        上面的代碼與以前版本中的實(shí)現(xiàn)差不太多,僅是在指定消息時作了一些小的改動。不必自己來構(gòu)建一個地址,你完全可以讓系統(tǒng)為你代勞。如果你指定一個電子郵件地址和一個名字,它將自動地在消息中顯示如下內(nèi)容:

      "Person's Name" <destination@domain.com>

        這正是一個電子郵件地址的"正確"格式。當(dāng)然,你可以進(jìn)一步把多個地址添加到To,CC和BCC集合中,其方式與上面完全相同。通過這種編程方式來實(shí)現(xiàn)發(fā)送大量消息要比分別發(fā)送每個消息要容易得多了-只需要把多個地址添加到BCC屬性即可實(shí)現(xiàn)郵件的群發(fā)。

        二、 存在的問題

        現(xiàn)在,我們來分析一下其中存在的小錯誤。

        如前面所提及,這個新的命名空間中帶有一些小錯誤。第一個是,當(dāng)你發(fā)送一封電子郵件時,郵件的頭部信息全部是以小寫字母形式添加的。然而,在針對SMTP郵件RFC的規(guī)范中并沒有指定郵件頭部應(yīng)該怎樣大寫;但是,許多垃圾郵件過濾程序卻限制了頭部沒有正確大寫的電子郵件消息。

        另一個錯誤與優(yōu)先權(quán)設(shè)置有關(guān)系-通過優(yōu)先權(quán)設(shè)置,用戶可以指定一個消息在郵件客戶端的重要程度。由于郵件頭部的這種格式化方式(全部轉(zhuǎn)化為小寫),所以,我的郵件程序(Eudora)無法識別相應(yīng)的優(yōu)先權(quán)標(biāo)志,因而也就不會專門標(biāo)記出此郵件的重要程度。盡管這看上去有些瑣碎,但是轉(zhuǎn)換到新版本的System.Web.Mail以后這看上去并沒有明顯理由。

        所以,我還會繼續(xù)探討這個問題,如果實(shí)在找不到一個好的補(bǔ)救辦法,那么我只要回到以前的System.Web.Mail以更有效了解決上面的警告問題。

      分享:用ASP.NET/C#連接Access和SQL Server數(shù)據(jù)庫
      連接Access 首先看一個例子代碼片斷: 程序代碼: -------------------------------------------------------------------------------- using System.Data; using System.Data.Ole

      來源:模板無憂//所屬分類:.Net教程/更新時間:2008-08-22
      相關(guān).Net教程