ASP.NET歷險(一)——利用ASP與ASP.NET發E-mail (轉)

worldblog發表於2007-12-14
ASP.NET歷險(一)——利用ASP與ASP.NET發E-mail (轉)[@more@]

  第一次在CSDN發文章,感覺真的是誠惶誠恐。畢竟像我這樣一個菜鳥級人物在眾高手面前講述自己的無疑於班門弄斧,關公面前耍大刀。不過,這一系列文章記述的是我自己的一些經歷,是自己在對了解甚少的情況下,接下了建設兩個網站任務的經歷。或許我把文章定成歷險有點誇張,不過在學習與提高的過程中那種山窮水盡疑無路,柳暗花明又一村的感覺著實讓人大叫過癮。就請各位隨我走一趟,希望不會讓大家失望,同時希望各位高手多多批評,多多責罵。:)

  先說我架設的第一個網站吧。在準備架設第一個網站之前,我有一點ASP的設計實踐經驗,對於開發環境的選擇,我曾經猶豫過,最終我還是選擇了。因為我對C#的語言特性很感興趣,同時對那種義大利麵式的ASP實在是無法忍受了。就這樣,捧著一本厚厚的書,我就開始投入到ASP.NET之旅了。

  俗話說,萬事開頭難。可是,學習ASP.NET卻是那樣的輕易就可以上手了。至於如何上手,如何,已經有很多文章講述了,這裡我就不多說了。建設網站的進度很快,以至於我向老闆吹噓我能提前完成任務。老闆驚訝於我的的,我笑著對他說,這都是ASP.NET的好處啊。然而事情永遠都不會如自己所願的那樣,就在整個網站的最後一環——自動發E-上出了問題(終於都到正題了,大家都煩了吧)。

  我原來的打算是利用Namespace中的“System..Mail"中封裝的類庫去建立MailMessage,然後利用Send方法去傳送(這個例子到處都有)。當我寫完(抄完)了一段之後,滿心歡喜的以為自己大功告成了,可是我錯了。因為我所在的公司的規模很大,公司內部使用 Server進行收發Mail,如果是脫離了,使用上的SmtpServer會有很長的延遲,甚至會丟信,這樣是不允許的。看來現成的東西是不能用的了,稍加思索之後,我覺得應該用客戶端Outlook發的辦法。可是,該怎麼呼叫呢?我馬上想到了CSDN,就在這裡發了帖子。熱心的朋友給我想了不少的辦法,譬如說利用等,可是這些想法都不是我想要的。因為E-Mail的內容是根據的選擇自動生成的,而郵件列表是與一個DropdownList進行繫結的。我一直不停的在嘗試,在尋找,甚至跑到的論壇上去提問。這個問題就想一條鴻溝,怎麼都無法逾越,我幾乎都絕望了。就在我覺得這是一個Mission Impossible的時候,是CSDN的saucer給了我最大的幫助,最終的解決方案如下:

建立一個專門發郵件的.:


 


 
 
<BR>sub MailSend(ito,isubject,ibody,icc) <BR>&nbsp; Dim myOlApp<BR>&nbsp; Set myOlApp = Create("Outlook.Application")<BR>&nbsp; Dim ob<BR>set objMail=myOlApp.CreateItem(olMailItem)<BR>objMail.To = ito<BR>objMail.Cc = icc<BR>objMail.Subject = isubject<BR>objMail.HtmlBody = ibody<BR>objMail.Save<BR>objMail.Send<BR>Set myOlApp = Nothing<BR>end sub<BR>&nbsp;

   Dim tsubject,tbody,tto,tcc
  tsubject=Request.QueryString("Subject")
  tbody=Request.QueryString("Body")
  tto=Request.QueryString("To")
  tcc=Request.QueryString("Cc")
  tcc=Chr(34)+tcc+Chr(34)
  tto=Chr(34)+tto+Chr(34)
  tsubject=Chr(34)+tsubject+Chr(34)
  tbody=Chr(34)+tbody+Chr(34)
  Response.Write("

相關文章