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