唉,没弄过asp,但公司现在要我维护一个asp平台,
呵呵,也当是一种挑战,在这里也谢谢心得,一来照顾一下asp新手,
二来,以后自己再用也好有个地方寻找答案.
需求是这样的,当在线人数到达一定数量则提示,并发送邮件
Global.asa文件,
什么是 Global.asa 文件?它其实是一个可选文件,程序编写者可以在该文件中指定事件脚本,并声明具有会话和应用程序作用域的对象。该文件的内容不是用来给用户显示的,而是用来存储事件信息和由应用程序全局使用的对象。该文件的名称必须是 Global.asa 且必须存放在应用程序的根目录中。每个应用程序只能有一个 Global.asa 文件。内容如下:
<script language="vbscript" runat="server">
sub Application_Onstart '对当前在线人数及访问总量的初始化.
Application("online")=0
Application("counter")=0
End Sub
Sub session_Onstart
session.timeout=5 '设置网页到期时间为5分钟
application.lock
application("online")=application("online")+1
application("counter")=application("counter")+1
application.unlock
End Sub
Sub session_OnEnd
Application.lock
Application("online")=Application("online")-1
Application.unlock
End Sub
</script>
调用页面代码.test.asp
<%
'增加当前人数限制处理,提示学员,并发送邮件
'参数说明
'Subject : 邮件标题
'MailAddress : 发件服务器的地址,如smtp.163.com
'Email : 收件人邮件地址
'Sender : 发件人姓名
'Content : 邮件内容
'Fromer : 发件人的邮件地址
Sub SendAction(subject, email, sender, content)
Set JMail = Server.CreateObject("JMail.Message")
JMail.Charset = "gb2312" ' 邮件字符集,默认为"US-ASCII"
JMail.From = strMailUser ' 发送者地址
JMail.FromName = sender' 发送者姓名
JMail.Subject =subject
JMail.MailServerUserName = strMailUser' 身份验证的用户名
JMail.MailServerPassword = strMailPass ' 身份验证的密码
JMail.Priority = 3'发送邮件类型 1为特级 3为普通
JMail.AddRecipient(email)
JMail.Body = content
JMail.Send(strMailAddress)
End Sub
Dim title,strEmail,strMailAdress,strSender,strContent
Dim strMailAddress,strMailPass,strMailUser,JMail
if application("online")>=1 then
'调用此Sub的例子
title = Request("title")
strContent = "您好,当前在线人数为"&application("online")
strSender = Request("Name") '发信人姓名
strEmail = "a375267603#163.com" '收信人邮箱,可以改为其它的邮箱
strMailAddress = "mail.cdce.cn" '发件服务器地址 例:smtp.163.com(为163服务器地址)
strMailUser = "zenghai#cdce.cn" '发件人用户名
strMailPass = "8888" '发件账户密码
Call SendAction (title,strEmail,strSender,strContent)
strShowMessage = "模块名称:verifyStudent[超出人数限制]|详细信息:当前登录考试系统的人数已经超出服务器的限制【" & application("online") & "】,请您稍后再登录!"
end if
%>