JavaMai——邮箱验证用户注册
这篇文章简单的模拟了网上利用邮箱激活用户注册这样的一个功能 1. 呈现给用户的注册界面:(为了简单起见,就剩下两个输入域,邮箱和昵称)
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html> <head> <title>用户注册利用邮箱进行验证</title> </head> <body> <br/> <form action="${pageContext.request.contextPath }/servlet/RegisterServlet" method="post"> <font size="24" color="red">用户注册</font><br/> 邮箱:<input type="text" name="email" /><br/> 昵称:<input type="text" name="userName" /><br/> <input type="submit" value="submit" /><br/> </form> </body>
</html>
2. 用户点击提交后,应该在后台进行发送邮件的处理,在这之前,你可能需要利用javascript对邮箱进行匹配处理,以及对用户大部分的输入情况进行验证,如果有验证码的话,应该首先验证(可以通过AJAX进行验证)。但是我在这里也就不验证了,直接假设用户输入是正确的。下面是后台处理程序:
package com.piedra.register; import java.io.IOException;
import java.util.Date;
import java.util.Properties; import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message.RecipientType;
import javax.mail.MessagingException;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession; import com.piedra.model.MyAuthenticator; public class RegisterServlet extends HttpServlet { private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String toMail = request.getParameter("email"); String registerName = request.getParameter("userName"); String userName = "你邮箱地址"; String password = "你邮箱密码"; String registerId = "" + Math.random() * Math.random(); String url = "http://localhost:8080/JavaMailChecker/servlet/MailBackServlet?registerId=" + registerId;//待会用户点在邮箱中点击这个链接回到你的网站。 HttpSession httpSession = request.getSession(); httpSession.setAttribute(registerId, registerName); httpSession.setMaxInactiveInterval(600); Properties props = new Properties(); props.setProperty("mail.smtp.host", "smtp.163.com"); props.setProperty("mail.smtp.auth", "true"); Authenticator authenticator = new MyAuthenticator(userName, password); javax.mail.Session session = javax.mail.Session.getDefaultInstance(props,authenticator); session.setDebug(true); try{ Address from = new InternetAddress(userName); Address to = new InternetAddress(toMail); MimeMessage msg = new MimeMessage(session); msg.setFrom(from); msg.setSubject("诚实网站注册"); msg.setSentDate(new Date()); msg.setContent("
JavaMai——邮箱验证用户注册相关推荐
- python 邮箱验证_在Django中进行用户注册和邮箱验证的方法
本文主要介绍我在利用Django写文章时,采用的注册方法.首先说一下整体逻辑思路: •处理用户注册数据, •产生token,生成验证URL, •发送验证邮件, •用户登录网址,进行验证, •验证处理. ...
- Java 实现用户注册时的邮箱验证
大坑 一定要先下jar包,javax.mail的jar包 jar包链接 思路分析 1.申请邮箱 2.开启授权码(登录邮箱设置SMTP/POP3等等协议) 3.在项目的MailUtils中设置自己的账号 ...
- php正则邮箱验证,两种PHP用户注册邮箱验证正则表达式方法
一般我们在WEB端新注册或者登陆账户的时候,对于字段的验证不仅仅是需要验证其是否为空或者长度,有些特殊的字段,比如EMAIL邮箱我们需要验证是不是邮箱的格式,比如是都带有@符号等.刚才在练习PHP程序 ...
- .NET用户注册邮箱验证
这是一次偶然的机会,跟公司的业务聊了下他们大概的需求,其中有一点用户需要邮箱验证去注册自己的账户:对于还没有接触过这块的我来说,产生了浓厚的兴趣,于是乎研究了下.想到了两种方法:一种是程序产生比较简单 ...
- ThinkPHP 3.2 用户注册邮箱验证帐号找回密码
一.前言 当然现在有的网站也有手机短信的方式找回密码,原理就是通过发送验证码来验明正身,和发送邮件验证一样,最终还是要通过重置密码来完成找回密码的流程. 本文将使用PHP+Mysql+jQuery来实 ...
- iOS开发-UITextField手机号和邮箱验证
不管是网页是手机,用户注册登录的时候绝大数时候都需要手机号码和邮箱地址,而且有些App会限制只能使用手机号注册,iOS方面邮箱正则比较简单,不过手机号码验证找了一下网上的,发现三大运营商的号码段有所变 ...
- javamail实现邮箱验证功能
javamail是基于SMTP协议和POP3协议的邮件发送与接收系统,在用户注册与登陆的过程中,常需要用到邮箱验证功能,下面是基于javamail的一个简单实现 用户注册后通过servlet得到邮箱地 ...
- .NET简单的登录邮箱验证
虽然现在很多的网站的登录验证都已经改成手机验证了,但邮箱验证还是一个比较主流的验证方式,下面我给大家介绍一个比较简单的邮箱验证的实现方法,大概的思路是:注册的时候需要填写邮箱账户,注册成功后,后台生成 ...
- JavaMail实现注册邮箱验证案例
原文链接:https://www.jianshu.com/p/8f8d7a46888f 在日常生活中,我们在一个网站中注册一个账户时,往往在提交个人信息后,网站还要我们通过手机或邮件来验证,邮件的话大 ...
最新文章
- python在日常工作处理中的应用-近期工作中应用Python的一些经验总结
- 汇编实现地址对应值相加
- T-SQL管理数据库对象
- jmeter更改java内存,jmeter内存溢出解决方法
- windows隐藏python运行时的终端
- Appium安装使用总结
- 关于UIAlertAction如何修改sheet上的字体颜色
- 【优化分类】基于matlab粒子群算法优化支持向量机分类(多输入多分类)【含Matlab源码 1559期】
- c语言成绩管理系统(链表)
- protel 99se 简单的手动画pcb
- Maven Pom文件详解
- 小米路由器怎么设置无盘服务器,小米路由器怎么设置?
- 仿城通网盘分享下载系统源码下载,强大功能完美商用
- Python 输入整数进行排序
- EXCEL单元格式(亿元,万元)
- 27_Pandas按星期,月份,季度和年份的天计算时间序列数据的总计和平均值
- 20220925 appreciate和grateful的区别
- 苹果macOS Big Sur 11.2 RC 修复蓝牙和显示连接问题
- IOS实现3DTouch功能
- ShopXO开源电商系统源码支持PC+H5支付宝小程序微信小程序百度小程序头条amp;抖音小程序QQ小程序APP等
热门文章
- LeetCode题解(1079):活字印刷(Python)
- 2021年氧化工艺考试报名及氧化工艺模拟考试题库
- 64匹马,8个赛道,找出前4名最少比赛多少场?
- 服务器的GPU显示err,Nvidia GPU风扇和电源显示ERR!
- 《笨办法学python3》再笨的人都能学会python,附PDF,拿走不谢
- CouchDB与CouchBase的比较
- Excel对比Python实现方差分析
- android手机功能创新,盘点最让人心动的五大手机差异化创新趋势
- 什么是matlab的幅值域,基于LabVIEW的虚拟频谱分析仪
- FormulaR1C1是公式输入方法