ASP.NET 2.0傳送電子郵件中存在的問題
出處: 天極yesky 作者:朱先忠編譯 時間:2006-11-15 11:26:00
在新發行的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></destination>
這正是一個電子郵件地址的"正確"格式。當然,你可以進一步把多個地址新增到To,CC和BCC集合中,其方式與上面完全相同。通過這種程式設計方式來實現傳送大量訊息要比分別傳送每個訊息要容易得多了-只需要把多個地址新增到BCC屬性即可實現郵件的群發。
二、 存在的問題
現在,我們來分析一下其中存在的小錯誤。
如前面所提及,這個新的名稱空間中帶有一些小錯誤。第一個是,當你傳送一封電子郵件時,郵件的頭部資訊全部是以小寫字母形式新增的。然而,在針對SMTP郵件RFC的規範中並沒有指定郵件頭部應該怎樣大寫;但是,許多垃圾郵件過濾程式卻限制了頭部沒有正確大寫的電子郵件訊息。
另一個錯誤與優先權設定有關係-通過優先權設定,使用者可以指定一個訊息在郵件客戶端的重要程度。由於郵件頭部的這種格式化方式(全部轉化為小寫),所以,我的郵件程式(Eudora)無法識別相應的優先權標誌,因而也就不會專門標記出此郵件的重要程度。儘管這看上去有些瑣碎,但是轉換到新版本的System.Web.Mail以後這看上去並沒有明顯理由。
所以,我還會繼續探討這個問題,如果實在找不到一個好的補救辦法,那麼我只要回到以前的System.Web.Mail以更有效瞭解決上面的警告問題。
相關文章
- 【陳晨】ASP.NET 2.0中傳送電子郵件ASP.NET
- ASP.NET 2.0中傳送電子郵件剖析之一ASP.NET
- ASP.NET 2.0傳送電子郵件全面剖析之二ASP.NET
- 如何傳送電子郵件到別人郵箱?電子郵件傳送的方法
- 在ASP.NET中傳送電子郵件的例項教程ASP.NET
- 用oracle傳送電子郵件Oracle
- ASP.NET2.0傳送電子郵件示例程式碼ASP.NET
- 在VC中呼叫預設的電子郵件程式傳送郵件 (轉)
- 電子郵件協議及GO傳送QQ郵件協議Go
- 從Oracle9i中傳送電子郵件Oracle
- .net類庫中傳送電子郵件的方法總結
- 在.NET框架應用程式中傳送電子郵件框架
- 傳送郵件出現問題
- SpringBoot實現傳送電子郵件Spring Boot
- C# 傳送電子郵件原始碼片段C#原始碼
- 在Linux命令列傳送電子郵件Linux命令列
- 郵件傳送時的亂碼問題
- ASP.NET之郵件傳送ASP.NET
- asp.net傳送郵件程式ASP.NET
- SpringBoot傳送電子郵件(附原始碼)Spring Boot原始碼
- ASP.net傳送郵件的例項ASP.NET
- 利用SQL Server 2005資料庫郵件傳送電子郵件SQLServer資料庫
- foxmail能收郵件,但是無法傳送郵件的問題AI
- 電子郵件哪個好用?口碑不錯的郵件傳送平臺推薦!
- 4個可以傳送完整電子郵件的命令列工具命令列
- 傳送電子郵件的4個Linux命令列工具Linux命令列
- 郵件的傳送
- laravel傳送啟用郵件的思路和問題Laravel
- 如何使用ABAP傳送帶有PDF格式附件的電子郵件
- 郵件傳送
- 傳送郵件
- crontab導致的頻繁傳送郵件的問題
- Spring Boot 參考指南(驗證&傳送電子郵件)Spring Boot
- SQL Server 2000怎樣配置傳送電子郵件SQLServer
- 怎麼傳送電子郵件到別人郵箱?手把手教你!
- Ubuntu的郵件傳送Ubuntu
- asp.net定時傳送郵件總結ASP.NET
- 在Linux命令列傳送電子郵件附件的兩種方法Linux命令列