1、 注册后;通过注册时的邮箱来激活账号 (在登陆时还应该判断一下是否激活了,也即要判断一下状态位。 只有当已经被激活了的账号才可以成功登陆)
在建表的时候多添加一个字段假设为state(状态), 当用户注册成功后添加一条数据state的状态为未激活, 当用户点击激活后,将state的状态变为激活的了。注册的时候默认未激活,发送一个链接,这个链接点击一下就做激活的动作,然后跳到首页。
有的网站则是发送激活号码,用户要自己登录网站去激活
2、 在用户注册的时候除了要加用户状态之外 同时生成个随机码 然后用JAVAMAIL 一起发到用户邮箱里去(当然也可以直接发个链接 让用户点完之后直接激活)
发送:URL+动态参数,用户进入页面中根据参数去修改数据表状态 (当然我认为url+email+系统时间 是个不错的选择,一个是处理方便, 二则会出现激活码重复的概率几乎为0. ^_^ ^_^ 还不放心的话, 后面再加上一个随机数)
另外 生成的随机码绝对不能重复 因为回头激活的时候是要根据激活码查找用户的 (或者是根据激活码跟用户一起查找) 。
^_^ ^_^ 生成的激活地址,你也可以根据email MD5下,没什么难度!
如我们喜洋洋视频网站采取的是如下的做法:
注册成功后将用户名、激活码、激活状态和用户其他信息(激活码可以用Guid实现)保存到数据库,同时将激活页面链接(形如:checkpower.asp?user_name=jimmy&checkpower=E920D8D1-DAB2-40C9-8444-83EFF4429510 )发送到用户邮箱,激活时验证user_name和checkpower参数值和数据库中是否匹配,如匹配将"激活状态"更新为1
3、 问题: 那么我如何使这个激活链接在点击后立即失效?
我仔细思索了一会儿, 让链接在点击之后便失效的主要目的在于防止有些用户老是重复点击链接而使发服务器不断查询给服务器造成的压力罢了。 ^_^ ^_^ 不知一般网站是否是基于此考虑?
4、 如何设置stmp?如何搭建自己的免费的stmp? 如果只是使用第三方邮件服务器来实现邮件发送功能那就很简单了, 我已经使用JAVA MAIL就可以实现相应的功能了(尽管还有点中文乱码的问题)。jamail探索中.....
5、 1、 如何使自己发出的邮件不可被回复? 以及普通的企业邮箱中有自己的服务器吗?
就像我们平时注册一个新网站, 这个网站有自己相应的邮件服务器吗? james是什么东东咯?