一直以為ASP定時發郵件(執行程序)一定要使用服務器的“任務計劃”才可以實現。最近發現不需要,可以利用global.asa文件來實現。注意:這個文件一定要放在網站的根目錄下。
下面是一個定時發送郵件的舉例代碼,中間的注意的地方可以改成其它代碼,如將過期的產品下架,定時發送郵件等。代碼如下:
01
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
02
Sub Application_OnStart
03
Application("SessionCount") = 0
04
End Sub
05
06
Sub Session_OnStart
07
Application.Lock
08
Application("SessionCount") = Application("SessionCount") + 1
09
Application.Unlock
10
If Application("SessionCount") > 15 Then
11
Application.Lock
12
Application("SessionCount") = 0
13
Application.Unlock
14
Set ObjMyFile = CreateObject("Scripting.FileSystemObject")
15
Set OpenMyFile = ObjMyFile.OpenTextFile(Server.MapPath("last-update.txt"))
16
MyFileValue = OpenMyFile.ReadLine '讀取被保存在last-update.txt中的上一次執行的時間
17
OpenMyFile.Close
18
If DateDiff("h",MyFileValue,NOW) > 24 Then '每24小時定時運行一次
19
' 這裡輸入你要運行的程序
20
' 不需要添加<%與%>標簽
21
' 例如:向會員發送一封郵件
22
' ***************************************
23
' 這裡放上發郵件的代碼,見:
24
' http://www.aspbc.com/tech/showtech.ASP?id=25
25
' ***************************************
26
Set WriteMyFile = ObjMyFile.CreateTextFile(Server.MapPath("last-update.txt"))
27
WriteMyFile.WriteLine(NOW) '保留當前運行的時間,以便供下次使用,這個時間也可以保存到數據庫中,這裡就直接放到一個記事本中了。
28
WriteMyFile.Close
29
End if
30
End If
31
End Sub
32
</SCRIPT>(鼠標移到代碼上去,在代碼的頂部會出現四個圖標,第一個是查看源代碼,第二個是復制代碼,第三個是打印代碼,第四個是幫助)文件名必須是global.asa