明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

ASP環(huán)境下郵件下文技巧的完成 (一)(推薦)

[摘要]郵件列表(Mailing List)是當(dāng)前最受歡迎的網(wǎng)絡(luò)服務(wù)之一。本文通過(guò)一個(gè)示例系統(tǒng)的建設(shè),介紹在ASP環(huán)境下郵件列表功能的實(shí)現(xiàn)方法。    ChinaByte網(wǎng)絡(luò)學(xué)院的《Java Mail API及其應(yīng)用》一文介紹了在Java中簡(jiǎn)單郵件列表服務(wù)功能的實(shí)現(xiàn)方法,本...
     郵件列表(Mailing List)是當(dāng)前最受歡迎的網(wǎng)絡(luò)服務(wù)之一。本文通過(guò)一個(gè)示例系統(tǒng)的建設(shè),介紹在ASP環(huán)境下郵件列表功能的實(shí)現(xiàn)方法。


   ChinaByte網(wǎng)絡(luò)學(xué)院的《Java Mail API及其應(yīng)用》一文介紹了在Java中簡(jiǎn)單郵件列表服務(wù)功能的實(shí)現(xiàn)方法,本文介紹的是類似功能在ASP應(yīng)用中的實(shí)現(xiàn)。我們將通過(guò)一個(gè)示例系統(tǒng)具體說(shuō)明其實(shí)現(xiàn)過(guò)程。

   一、系統(tǒng)概貌

   整個(gè)應(yīng)用系統(tǒng)可以分為兩個(gè)部分,即面向最終用戶的功能和面向管理任務(wù)的功能。面向最終用戶的功能主要包括:提供輸入界面讓用戶輸入個(gè)人信息(用戶名字和Email地址等)并將其注冊(cè)到“客戶登記簿”,提供“取消訂閱郵件列表”功能。

   管理員訪問(wèn)管理界面之前應(yīng)通過(guò)簡(jiǎn)單的安全檢查。成功進(jìn)入管理界面之后,管理員需要執(zhí)行的操作包括查看、編輯和刪除用戶記錄,編輯郵件以及發(fā)送郵件給所有訂閱者。

   向訂閱者發(fā)送郵件需要用一個(gè)服務(wù)器部件來(lái)完成。在本實(shí)現(xiàn)中我們將使用ServerObjects的ASPMail 3.0。據(jù)該公司網(wǎng)站介紹,在所有商業(yè)或免費(fèi)的類似產(chǎn)品中,ASPMail在ASP環(huán)境下的應(yīng)用最為廣泛,包括Microsoft、Intel、HP在內(nèi)的許多公司均使用ASPMail,從它的Web網(wǎng)站可以下載試用版本。試用版本的ASPMail將在由它所發(fā)送的每個(gè)郵件末尾加上版權(quán)聲明。當(dāng)然,也可以選用其它類似的服務(wù)器部件,包括Jmail以及NT 服務(wù)器(Service Pack 4)提供的CDONTS.NewMail對(duì)象。下面我們簡(jiǎn)單介紹這兩個(gè)部件的使用,你可以按照這里的介紹替換本文實(shí)現(xiàn)中的ASPMail。

   CDONTS只有在NT服務(wù)器上才是可用的。而ASPMail除了NT服務(wù)器、工作站之外還可以用于Win9x。CDONTS是Collaboration Data Objects for NT Server的縮寫(xiě),郵件的發(fā)送任務(wù)可以用它的NewMail對(duì)象完成。和ASPMail以及Jmail不同,NewMail對(duì)象不要求指定SMTP服務(wù)器信息,它總是假定郵件是通過(guò)本地機(jī)器上安裝的郵件服務(wù)發(fā)送的。發(fā)送一個(gè)簡(jiǎn)單的純文本郵件的VBScript代碼如下:

 ' 創(chuàng)建NewMail對(duì)象實(shí)例
 Set mail = Server.CreateObject("CDONTS.NewMail")
 ' 設(shè)置收件人,發(fā)件人等信息
 mail.From = "Guest0@Test.com"
 mail.To = "Guest1@Test.com"
 ' 郵件內(nèi)容
 mail.Body = "郵件內(nèi)容."
 ' 發(fā)送郵件
 mail.Send
 Set mail = Nothing

   Jmail是完全免費(fèi)的,由Dimac開(kāi)發(fā)。用它來(lái)發(fā)送郵件的代碼為:

 ' 創(chuàng)建對(duì)象
 Set Jmail = Server.CreateObject("Jmail.SMTPMail")
 ' 指定郵件服務(wù)器
 Jmail.ServerAddress = "mail.mydomain.com"
 ' 發(fā)件人,收件人,主題
 Jmail.Sender = "admin@Test.com"
 Jmail.AddRecipientEx "Guest0", "Guest0@Test.com"
 Jmail.Subject = "郵件主題"
 ' 郵件內(nèi)容
 Jmail.Body = "郵件內(nèi)容"
 ' 發(fā)送郵件
 Jmail.Execute

   我們用Access數(shù)據(jù)庫(kù)guestbook.mdb來(lái)存儲(chǔ)用戶信息。該數(shù)據(jù)庫(kù)只含一個(gè)表Guests。Guests表的字段名稱及其類型如下:
Guests表結(jié)構(gòu)
字段名稱 類型 大小 說(shuō)明
Guest_ID 自動(dòng)編號(hào) 長(zhǎng)整形 主鍵
Guest_Name 文本 50
Guest_Email 文本 50
Mail_List 是/否
Sign_Date 日期/時(shí)間
Guest_Comment 文本 255


   每個(gè)用戶記錄都需要一個(gè)唯一標(biāo)識(shí),因此我們將這里的Guest_ID字段定義為自動(dòng)編號(hào)類型。將Mail_List字段設(shè)為是/否類型使得我們可以快速和方便地檢查用戶是否要求加入郵件列表。Sign_Date字段保存的是用戶注冊(cè)日期,請(qǐng)將其缺省值設(shè)置為Now()。所有其它字段的含義均可從其名字看出