ASP本身沒有發送郵件的能力,但是如果你希望用ASP來發送E-MAIL(例如:你有一個消息,只想讓那些在你的留言薄上留了言的上網者們知道,你希望上網者在你的留言薄上填寫完成後,你的留言簿便自動將該消息E-MAIL給留言的上網者),那麼你需要安裝一個ASP組件。並借助這些組件來幫你實現郵件的自動發送、回復等工作。
如果你的ASP及WEB數據庫的運行平台是IIS4(Internet Information Server 4.0),你可以使用CDONTS.DLL。如果你已經缺省安裝過NT 4.0 Option Pack,CDONTS.DLL便存放在你機器的C:\Winnt\System32\目錄下面。有了該組件我們還不能立即應用它,在對它進行應用之前我們必須先完成組件的注冊,那麼怎樣才能對CDONTS.DLL進行注冊呢?我們可以在MS-DOS方式下進入到CDONTS.DLL所在的目錄C:\Winnt\System32\下輸入:
c:\winnt\system32>regsvr32 cdonts.dll
(如果我們想將其御載可用指令: c:\winnt\system32>regsvr32/u cdonts.dll)
在完成了組件的注冊後,現在我們可以開始來解說如何對該組件的使用。我們可以用下面簡單的腳本來給留言簿的添加自動發E-MAIL的功能。
< %
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
%>
將上述的代碼COPY到manage2.asp 去,一個簡單的通過ASP來發送E-MAIL的留言簿就實現了。也許你並不會滿意這種發E-MAIL的方式,理由很簡單:因為為了答謝你的網友對你的支持,你昨晚熬夜足足寫了幾千字(也許是我說少了)的感激話語,今早一大早起來才發現原來上述的留言簿竟然未具備發附件的功能,瞧,這有多氣人的。還好,原來CDONTS.DLL也可以用來發送附件,事不宜遲,我們立即就將其奉獻出來。< %
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.To = Email
MailObject.Subject="感謝您對我們工作的支持"
MailObject.Body="感謝您對我們工作的支持"
MailObject.AttachFile att_file,f_name
MailObject.Send
%>
只需將上述的代碼COPY下來用以取代第一個實例,我們的留言簿便能實現自動發附件功能。在這裡值得我們注意的是:att_file="D:\cwj\GO-ASP\guestbook5\email.txt"
必須是我們放附件的絕對路徑。其實除了CDONTS.DLL 組件外,有許多由第三方廠商開發的組件你也可以使用。例如據說連Intel公司也在用的ASPmail組件和似乎很受歡迎的w3 jmail等等組件。能受到大家的歡迎,個中原由自是不言而宣的,我們可以直接從以下地方去下載它們。
ASPmail組件的下載地址:http://www.flicks.com/ASPMail/intro.htm
Jmail組件的下載地址:http://download.diMac.Net/jmail/jmail.exe
說實際的,我的第一個用ASP來發送E-MAIL的留言簿所用的組件就是ASPmail組件(自然是因為聽說連Intel公司也在使用它的緣故)。既然使用過了,自然對其會有所了解,我想在這裡也不妨對ASPmail組件的使用作下簡單的介紹。
應用ASPmail組件的方法其實也很簡單,首先我們得先對該組件進行安裝,安裝完畢後在ASPmail的安裝目錄下面會附有Sample實例,我們只要對照著這些例子,再稍加改動即可。我在這裡提供了一個實例給大家,並單獨將使用該組件時所涉及到的所有其它文件一並放在ASPmail目錄下面,大家可以從下載區下載後再細作研究,我在這裡只稍作一下簡單的說明。
首先,我們在manage2.asp中輸入<!--#include file="ASPmail/sendmail2.asp" -->並另存成manage3.asp,而具體sendmail2.ASP的腳本如下所示:
< %
Set mailer = Server.CreateObject("ASPMAIL.ASPMailCtrl.1")
%>
< %
name = Request.form("name")
email = Request.form("email")
subject = "歡迎您下次再來"
memo = "歡迎您下次再來留言!"
mailserver = "smtp.21cn.com"
result = mailer.SendMail(mailserver, name, email, subject, memo)
%>
這裡值得大家注意的是:mailserver = "smtp.21cn.com" 中填寫的是SMTP服務器,我在這裡用了21世紀的SMTP的郵件服務器來作例子,當然你也可以用其它地方的或你自己的(真是羨慕煞人了),就是有一點非常重要,你必須填寫正確,而且確信它們確實是開通了該服務。至於我最後為什麼又放棄了使用該組件,大家用過之後很可能如我者也不會在少數,原因很簡單:就因為該免費的組件會在你所發送的每一封信的下面討厭地放上幾句催你趕快去購買它的注冊版的文字。