这篇文章简单的模拟了网上利用邮箱激活用户注册这样的一个功能 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——邮箱验证用户注册相关推荐

  1. python 邮箱验证_在Django中进行用户注册和邮箱验证的方法

    本文主要介绍我在利用Django写文章时,采用的注册方法.首先说一下整体逻辑思路: •处理用户注册数据, •产生token,生成验证URL, •发送验证邮件, •用户登录网址,进行验证, •验证处理. ...

  2. Java 实现用户注册时的邮箱验证

    大坑 一定要先下jar包,javax.mail的jar包 jar包链接 思路分析 1.申请邮箱 2.开启授权码(登录邮箱设置SMTP/POP3等等协议) 3.在项目的MailUtils中设置自己的账号 ...

  3. php正则邮箱验证,两种PHP用户注册邮箱验证正则表达式方法

    一般我们在WEB端新注册或者登陆账户的时候,对于字段的验证不仅仅是需要验证其是否为空或者长度,有些特殊的字段,比如EMAIL邮箱我们需要验证是不是邮箱的格式,比如是都带有@符号等.刚才在练习PHP程序 ...

  4. .NET用户注册邮箱验证

    这是一次偶然的机会,跟公司的业务聊了下他们大概的需求,其中有一点用户需要邮箱验证去注册自己的账户:对于还没有接触过这块的我来说,产生了浓厚的兴趣,于是乎研究了下.想到了两种方法:一种是程序产生比较简单 ...

  5. ThinkPHP 3.2 用户注册邮箱验证帐号找回密码

    一.前言 当然现在有的网站也有手机短信的方式找回密码,原理就是通过发送验证码来验明正身,和发送邮件验证一样,最终还是要通过重置密码来完成找回密码的流程. 本文将使用PHP+Mysql+jQuery来实 ...

  6. iOS开发-UITextField手机号和邮箱验证

    不管是网页是手机,用户注册登录的时候绝大数时候都需要手机号码和邮箱地址,而且有些App会限制只能使用手机号注册,iOS方面邮箱正则比较简单,不过手机号码验证找了一下网上的,发现三大运营商的号码段有所变 ...

  7. javamail实现邮箱验证功能

    javamail是基于SMTP协议和POP3协议的邮件发送与接收系统,在用户注册与登陆的过程中,常需要用到邮箱验证功能,下面是基于javamail的一个简单实现 用户注册后通过servlet得到邮箱地 ...

  8. .NET简单的登录邮箱验证

    虽然现在很多的网站的登录验证都已经改成手机验证了,但邮箱验证还是一个比较主流的验证方式,下面我给大家介绍一个比较简单的邮箱验证的实现方法,大概的思路是:注册的时候需要填写邮箱账户,注册成功后,后台生成 ...

  9. JavaMail实现注册邮箱验证案例

    原文链接:https://www.jianshu.com/p/8f8d7a46888f 在日常生活中,我们在一个网站中注册一个账户时,往往在提交个人信息后,网站还要我们通过手机或邮件来验证,邮件的话大 ...

最新文章

  1. python在日常工作处理中的应用-近期工作中应用Python的一些经验总结
  2. 汇编实现地址对应值相加
  3. T-SQL管理数据库对象
  4. jmeter更改java内存,jmeter内存溢出解决方法
  5. windows隐藏python运行时的终端
  6. Appium安装使用总结
  7. 关于UIAlertAction如何修改sheet上的字体颜色
  8. 【优化分类】基于matlab粒子群算法优化支持向量机分类(多输入多分类)【含Matlab源码 1559期】
  9. c语言成绩管理系统(链表)
  10. protel 99se 简单的手动画pcb
  11. Maven Pom文件详解
  12. 小米路由器怎么设置无盘服务器,小米路由器怎么设置?
  13. 仿城通网盘分享下载系统源码下载,强大功能完美商用
  14. Python 输入整数进行排序
  15. EXCEL单元格式(亿元,万元)
  16. 27_Pandas按星期,月份,季度和年份的天计算时间序列数据的总计和平均值
  17. 20220925 appreciate和grateful的区别
  18. 苹果macOS Big Sur 11.2 RC 修复蓝牙和显示连接问题
  19. IOS实现3DTouch功能
  20. ShopXO开源电商系统源码支持PC+H5支付宝小程序微信小程序百度小程序头条amp;抖音小程序QQ小程序APP等

热门文章

  1. LeetCode题解(1079):活字印刷(Python)
  2. 2021年氧化工艺考试报名及氧化工艺模拟考试题库
  3. 64匹马,8个赛道,找出前4名最少比赛多少场?
  4. 服务器的GPU显示err,Nvidia GPU风扇和电源显示ERR!
  5. 《笨办法学python3》再笨的人都能学会python,附PDF,拿走不谢
  6. CouchDB与CouchBase的比较
  7. Excel对比Python实现方差分析
  8. android手机功能创新,盘点最让人心动的五大手机差异化创新趋势
  9. 什么是matlab的幅值域,基于LabVIEW的虚拟频谱分析仪
  10. FormulaR1C1是公式输入方法