ASP.NET 2.0寄送電子郵件中存在的問題

來源:互聯網
上載者:User
asp.net|問題  在新發行的ASP.NET 2.0版本中,微軟不再建議使用System.Web.Mail命名空間而代之以新的System.Net.Mail命名空間。在這個新庫中引入了許多新特徵,但是在發送郵件的方式方面也相應地帶入了一些小錯誤。

   一、 發送郵件

  在詳細討論這些小錯誤之前,讓我們先看一段範例程式碼(我們假定你已經在檔案開始添加了"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);

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

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

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

   二、 存在的問題

  現在,我們來分析一下其中存在的小錯誤。

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

  另一個錯誤與優先權設定有關係-通過優先權設定,使用者可以指定一個訊息在郵件用戶端的重要程度。由於郵件標頭部的這種格式化方式(全部轉化為小寫),所以,我的郵件程式(Eudora)無法識別相應的優先權標誌,因而也就不會專門標記出此郵件的重要程度。儘管這看上去有些瑣碎,但是轉換到新版本的System.Web.Mail以後這看上去並沒有明顯理由。

  所以,我還會繼續探討這個問題,如果實在找不到一個好的補救辦法,那麼我只要回到以前的System.Web.Mail以更有效瞭解決上面的警告問題。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.