ASP進(jìn)階教程:留言簿自動(dòng)發(fā)E-Mail
作者:無從考證 來源:學(xué)習(xí)在線 發(fā)布時(shí)間:2006-1-18 3:01:28 發(fā)布人:admin
增大字體
ASP本身沒有發(fā)送郵件的能力,但是如果你希望用ASP來發(fā)送E-MAIL(例如:你有一個(gè)消息,只想讓那些在你的留言薄上留了言的上網(wǎng)者們知道,你希望上網(wǎng)者在你的留言薄上填寫完成后,你的留言簿便自動(dòng)將該消息E-MAIL給留言的上網(wǎng)者),那么你需要安裝一個(gè)ASP組件。并借助這些組件來幫你實(shí)現(xiàn)郵件的自動(dòng)發(fā)送、回復(fù)等工作。
如果你的ASP及WEB數(shù)據(jù)庫(kù)的運(yùn)行平臺(tái)是IIS4(Internet Information Server 4.0),你可以使用CDONTS.DLL。如果你已經(jīng)缺省安裝過NT 4.0 Option Pack,CDONTS.DLL便存放在你機(jī)器的C:\Winnt\System32\目錄下面。有了該組件我們還不能立即應(yīng)用它,在對(duì)它進(jìn)行應(yīng)用之前我們必須先完成組件的注冊(cè),那么怎樣才能對(duì)CDONTS.DLL進(jìn)行注冊(cè)呢?我們可以在MS-DOS方式下進(jìn)入到CDONTS.DLL所在的目錄C:\Winnt\System32\下輸入:
c:\winnt\system32$#@62;regsvr32 cdonts.dll
(如果我們想將其御載可用指令: c:\winnt\system32$#@62;regsvr32/u cdonts.dll)
在完成了組件的注冊(cè)后,現(xiàn)在我們可以開始來解說如何對(duì)該組件的使用。我們可以用下面簡(jiǎn)單的腳本來給留言簿的添加自動(dòng)發(fā)E-MAIL的功能。
$#@60; %
Dim MailObject
Dim Email
Email = Request.form("Email")
Set MailObject = Server.CreateObject("CDONTS.NewMail")
Set myMail = Server.CreateObject("CDONTS.NewMail")
myMail.Subject = "歡迎您下次再來"
MailObject.Send "你本人的E-MAIL", Email ,"歡迎您下次再來給我們留言。" myMail.Send
Set myMail=Nothing
%$#@62;
將上述的代碼COPY到manage2.asp 去,一個(gè)簡(jiǎn)單的通過ASP來發(fā)送E-MAIL的留言簿就實(shí)現(xiàn)了。也許你并不會(huì)滿意這種發(fā)E-MAIL的方式,理由很簡(jiǎn)單:因?yàn)闉榱舜鹬x你的網(wǎng)友對(duì)你的支持,你昨晚熬夜足足寫了幾千字(也許是我說少了)的感激話語(yǔ),今早一大早起來才發(fā)現(xiàn)原來上述的留言簿竟然未具備發(fā)
附件的功能,瞧,這有多氣人的。還好,原來CDONTS.DLL也可以用來發(fā)送
附件,事不宜遲,我們立即就將其奉獻(xiàn)出來。$#@60; %
Dim MailObject
Dim Email Email = Request("Email")
Set MailObject = Server.CreateObject("CDONTS.NewMail")
att_file="D:\cwj\GO-asp\guestbook5\email.txt"
f_name="email.txt"
MailObject.From="你本人的E-MAIL"
MailObject.T Email
MailObject.Subject="感謝您對(duì)我們工作的支持"
MailObject.Body="感謝您對(duì)我們工作的支持"
MailObject.AttachFile att_file,f_name
MailObject.Send
%$#@62;
只需將上述的代碼COPY下來用以取代第一個(gè)實(shí)例,我們的留言簿便能實(shí)現(xiàn)自動(dòng)發(fā)
必須是我們放
附件的絕對(duì)路徑。其實(shí)除了CDONTS.DLL 組件外,有許多由第三方廠商開發(fā)的組件你也可以使用。例如據(jù)說連Intel公司也在用的ASPmail組件和似乎很受歡迎的w3 Jmail等等組件。能受到大家的歡迎,個(gè)中原由自是不言而宣的,我們可以直接從以下地方去下載它們。
ASPmail組件的下載地址:http://www.flicks.com/ASPMail/intro.htm
Jmail組件的下載地址:http://download.dimac.net/jmail/jmail.exe
說實(shí)際的,我的第一個(gè)用ASP來發(fā)送E-MAIL的留言簿所用的組件就是ASPmail組件(自然是因?yàn)槁犝f連Intel公司也在使用它的緣故)。既然使用過了,自然對(duì)其會(huì)有所了解,我想在這里也不妨對(duì)ASPmail組件的使用作下簡(jiǎn)單的介紹。
應(yīng)用ASPmail組件的方法其實(shí)也很簡(jiǎn)單,首先我們得先對(duì)該組件進(jìn)行安裝,安裝完畢后在ASPmail的安裝目錄下面會(huì)附有Sample實(shí)例,我們只要對(duì)照著這些例子,再稍加改動(dòng)即可。我在這里提供了一個(gè)實(shí)例給大家,并單獨(dú)將使用該組件時(shí)所涉及到的所有其它文件一并放在ASPmail目錄下面,大家可以從下載區(qū)下載后再細(xì)作研究,我在這里只稍作一下簡(jiǎn)單的說明。
首先,我們?cè)趍anage2.asp中輸入$#@60;!--#include file="ASPmail/sendmail2.asp" --$#@62;并另存成manage3.asp,而具體sendmail2.asp的腳本如下所示:
$#@60; %
Set mailer = Server.CreateObject("ASPMAIL.ASPMailCtrl.1")
%$#@62;
$#@60; %
name = Request.form("name")
email = Request.form("email")
subject = "歡迎您下次再來"
memo = "歡迎您下次再來留言!"
mailserver = "smtp.21cn.com"
result = mailer.SendMail(mailserver, name, email, subject, memo)
%$#@62;
這里值得大家注意的是:mailserver = "smtp.21cn.com" 中填寫的是SMTP服務(wù)器,我在這里用了21世紀(jì)的SMTP的郵件服務(wù)器來作例子,當(dāng)然你也可以用其它地方的或你自己的(真是羨慕煞人了),就是有一點(diǎn)非常重要,你必須填寫正確,而且確信它們確實(shí)是開通了該服務(wù)。至于我最后為什么又放棄了使用該組件,大家用過之后很可能如我者也不會(huì)在少數(shù),原因很簡(jiǎn)單:就因?yàn)樵撁赓M(fèi)的組件會(huì)在你所發(fā)送的每一封信的下面討厭地放上幾句催你趕快去購(gòu)買它的注冊(cè)版的文字。