熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

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

2013-11-13 10:14:57  來源: .NET編程 
在新發行的ASPNET 版本中微軟不再建議使用SystemWebMail命名空間而代之以新的SystemNetMail命名空間在這個新庫中引入了許多新特征但是在發送郵件的方式方面也相應地帶入了一些小錯誤

   發送郵件

  在詳細討論這些小錯誤之前讓我們先看一段示例代碼(我們假定你已經在文件開始添加了using SystemNetMail)

MailMessage msg = new MailMessage();
msgFrom = new MailAddress( Persons Name);
msgToAdd(new MailAddress(de Addressees Name);
msgToAdd(new MailAddress(des Addressee s Name);
msgSubject = Message Subject;
msgBody = Mail body content;
msgIsBodyHtml = true;
msgPriority = MailPriorityHigh;
SmtpClient c = new SmtpClient(m);
cSend(msg);
  上面的代碼與以前版本中的實現差不太多僅是在指定消息時作了一些小的改動不必自己來構建一個地址你完全可以讓系統為你代勞如果你指定一個電子郵件地址和一個名字它將自動地在消息中顯示如下內容

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

   存在的問題

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

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

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

  所以我還會繼續探討這個問題如果實在找不到一個好的補救辦法那麼我只要回到以前的SystemWebMail以更有效了解決上面的警告問題
From:http://tw.wingwit.com/Article/program/net/201311/13041.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.