一直以为asp定时发邮件(执行程序)一定要使用服务器的“任务计划”才可以实现。最近发现不需要,可以利用global.asa文件来实现。注意:这个文件一定要放在网站的根目录下。
下面是一个定时发送邮件的举例代码,中间的注意的地方可以改成其它代码,如将过期的产品下架,定时发送邮件等。代码如下:
<SCRIPT LANGUAGE=VBScript RUNAT=Server> Sub Application_OnStart Application("SessionCount") = 0 End Sub Sub Session_OnStart Application.Lock Application("SessionCount") = Application("SessionCount") + 1 Application.Unlock If Application("SessionCount") > 15 Then Application.Lock Application("SessionCount") = 0 Application.Unlock Set ObjMyFile = CreateObject("Scripting.FileSystemObject") Set OpenMyFile = ObjMyFile.OpenTextFile(Server.MapPath("last-update.txt")) MyFileValue = OpenMyFile.ReadLine '读取被保存在last-update.txt中的上一次执行的时间 OpenMyFile.Close If DateDiff("h",MyFileValue,NOW) > 24 Then '每24小时定时运行一次 ' 这里输入你要运行的程序 ' 不需要添加<%与%>标签 ' 例如:向会员发送一封邮件 ' *************************************** ' 这里放上发邮件的代码,见: ' http://www.aspbc.com/tech/showtech.asp?id=25 ' *************************************** Set WriteMyFile = ObjMyFile.CreateTextFile(Server.MapPath("last-update.txt")) WriteMyFile.WriteLine(NOW) '保留当前运行的时间,以便供下次使用,这个时间也可以保存到数据库中,这里就直接放到一个记事本中了。 WriteMyFile.Close End if End If End Sub </SCRIPT>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
文件名必须是global.asa
发送邮件代码见:http://www.aspbc.com/tech/showtech.asp?id=25