Asp - 实现邮箱激活用户[简要思路及实例展示]

这个问题很Easy,表面上看着有点难度,实际上经过仔细的思考后,确实很Easy,下面我就来介绍下Asp用邮箱激活用户的简要思路并附实例。

简要思路:主要是在用户注册时利用Jmail技术给用户发一封邮件,邮件内容附上验证连接并附上用户注册的ID,例如:http://www.noonenet.cn/test.asp?usrid=1,然后在test.asp页面做验证,并激活用户即可。

简单实例

假设一数据库db1.mdb,有一表test_usr,结构如下:
usrid usrname ischeck

以下是conn.asp连接数据库页面代码:

<%
Dim conn,connstr,dbpath
dbpath = ""
Set conn = server.CreateObject("Adodb.Connection")
connstr = "Provider=Microsoft.Jet.OleDb.4.0;Data source="&server.mappath(dbpath & "db1.mdb")
conn.open connstr

If Err Then
response.write "数据库出现连接出现异常."
Err.clear
response.End()
End If

Function closeconn()
If IsObject(conn) Then
conn.close
Set conn = Nothing
End If
End Function
%>

以下是reg.asp用户注册页面代码:

<!--#include file="conn.asp"-->
当前注册用户<br/>

<%
sqlstr = "select usrname,ischeck from test_usr order by usrid desc"
Set rs = conn.execute(sqlstr)
If Not rs.bof Or Not rs.eof Then
Do While Not rs.eof
response.write rs(0) & "," & rs(1)
rs.movenext
loop
End If
rs.close
Set rs = nothing
%>

<form name="form1" id="form1" action="?Action=reg" method="post">
<br />注册表单

请您输入用户名:<input type="text" name="usrname" /><br />
请您输入邮箱:<input type="text" name="usrmail" /><br />

<input type="submit" name="btn1" value="注册" />
</form>

<%
If request.querystring("Action")="reg" Then
usrname = request.Form("usrname")
usrmail = request.Form("usrmail")

sql = "insert into test_usr(usrname) values('"&usrname&"')"
conn.execute(sql)

sqlstr = "select usrid from test_usr order by usrid desc"
Set rs = conn.execute(sqlstr)
If Not rs.bof Or Not rs.eof Then
usrid = rs(0)
End If
rs.close
Set rs = Nothing

Set JMail = Server.CreateObject("JMail.Message")
'建立Jmail对象
JMail.silent=true
'silent:检查所有的邮件在 JMail.execute() 执行后返回真或假根据信件发送的成功与否
JMail.Logging = True
'Loggin:能/不能登录用Jmail
JMail.Charset = "gb2312"
'Charset:设置邮件的字符集
JMail.MailServerUserName = "***"
'MailServerUserName:发送邮件邮箱用户名
JMail.MailServerPassword ="***"
'MailServerPassword:发送邮件邮箱密码
JMail.ContentType = "text/html"
'ContentType:邮件头设置,默认为text/plain,如发送html信息,则用text/html
JMail.Priority = 1
'Priority:设置邮件优先级,数值越小,优先级越高
JMail.From = "***"
'From:接收邮件者看到的邮件来自
JMail.FromName = "No.1网络"
'FromName:接收邮件者看到的来信者的姓名
JMail.AddRecipient (usrmail)
'AddRecipient:收邮件邮箱地址
JMail.Subject = "恭喜您成为No.1网络的会员..."
'Subject:邮件的主题
JMail.Body = "恭喜您成为No.1网络的会员...<br/>请单击下列地址激活会员 -- <a href='http://www.noonenet.cn/test/test.asp?usrid="&usrid&"' target='_blank'>http://www.noonenet.cn/test/test.asp?usrid="&usrid&"</a>"
'Body:邮件的内容
If JMail.Send ("***") Then
'Send:发送邮件服务器的smtp
response.write "Success..."
Else
response.write "fail...."
End If
Set JMail = Nothing

response.write "恭喜您,注册用户成功,请到您的邮箱激活此用户..."

End If
%>

以下是test.asp验证页面代码:

<!--#include file="conn.asp"-->
<%
usrid = request.querystring("usrid")

sqlstr = "update test_usr set ischeck=1 where usrid="&usrid&""
conn.execute(sqlstr)

sqlstr = "select usrname from test_usr where usrid="&usrid&""
Set rs = conn.execute(sqlstr)
If Not rs.bof Or Not rs.eof Then
response.write "恭喜您," & rs(0) & "您的会员激活成功。。。<br />欢迎使用"
Else
response.write "对不起,系统找不到此用户,无法激活..."
End If
rs.close
Set rs = Nothing
%>

这样就可以实现邮箱激活用户了,简单吧。

posted @ 2011-10-16 09:59  anakinf  阅读(530)  评论(0编辑  收藏  举报