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("
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值