web项目 -页面注册 -邮箱链接注册

阅读更多

这是我其中一个项目的做法

 

我这里上张注册界面的图


web项目 -页面注册 -邮箱链接注册_第1张图片

 

 

 

这里我们主要讲的是邮箱验证, 以 网易163的邮箱为例子,当然要做邮箱发送需要开通协议并授权(不多说,自行bai度)

 


web项目 -页面注册 -邮箱链接注册_第2张图片
 

 

还要准备两个jar包放入lib里

1.     activation.jar(附件可以下载)

2.     mail.jar(附件可以下载)
 ------------------------------------------------------------------------------------------------------------------------------------

开始撸代码:

                                1.我们先创建一个发邮件的java类

/**
 * 发送邮件工具
 * @author Administrator
 *
 */
public class EmailTools {
	/***
	 * 邮件发送方法
	 * @param address 邮件接收人
	 * @param subject 邮件的标题
	 * @param content 邮件的内容
	 * @param true 为成功 false 为失败 
	 */
	public static boolean send(String address,String subject,String content){	
		//1 创建session
		Properties pro = new Properties();//能储存键值对操作,方便存储
		pro.setProperty("mail.transport.protocol", "smtp");	
		pro.put("mail.host", "smtp.163.com");
                //下面输入用户名
		pro.put("mail.from", "用户名写这@163.com");
		//相当于客户端与邮件服务器的连接对象
		Session session = Session.getDefaultInstance(pro);
		//开启调试模式
		session.setDebug(true);
		//2 获取邮件发送对象
		try {
			Transport transport = session.getTransport();
			//设置发送人邮件账号第一个是账号名,第二个是授权码
			transport.connect("888888","888888");
			//3 创建邮箱信息
			MimeMessage message = new MimeMessage(session);
			message.setSubject(subject);//设置邮件的标题
			//设置邮件的内容和页面编码
			message.setContent(content,"text/html;charset=UTF-8");
			//4 发送邮件
			transport.sendMessage(message, InternetAddress.parse(address));
			return true;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return false;
	}
}

 

 

                    2.调用上面的发送邮件工具(主要是register的方法)

 

package com.carshop.action.customer;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.carshop.common.EmailTools;
import com.carshop.dao.UserDao;
import com.carshop.dto.User;

@Controller
@RequestMapping("customer")
public class UserAction {
	UserDao dao = null;
	/**
	 * 用户注册
	 * @return
	 */
	@RequestMapping("/register")
	public String register(User user){
		//发送激活邮箱
		String activeCode = String.valueOf(System.currentTimeMillis());
		String activeURL = ("http://localhost:1314/carshop/customer/active?userId="+user.getUserId()+"&activeCode="+activeCode);
		StringBuilder content = new StringBuilder();
		content.append(user.getUserId()+"您好,请点击下面的连接进行激活账号:
"); content.append(""+activeURL+""); boolean flag = EmailTools.send(user.getEmail(), "账号注册(标题)", content.toString()); if(flag){ dao = new UserDao(); //创建账号的时间 user.setCreateDate(new Date()); user.setActiveCode(activeCode); System.out.println("register--"+user); dao.save(user); }else{ return "register"; } return "index"; } //激活状态 @RequestMapping("/active") public String avctive(String userId,String activeCode,Model data){ dao = new UserDao(); Map map = new HashMap<>(); map.put("userId", userId); map.put("activeCode", activeCode); int count = dao.activeUser(map); String tip = count>0?"激活成功":"激活失败"; data.addAttribute("tip",tip); return "login"; } //注册检查是否重复 @RequestMapping("/userIdCheck") @ResponseBody public Map userIdChack(String userId){ dao = new UserDao(); boolean flag = dao.getUserByUserId(userId); Map map = new HashMap<>(); map.put("status", flag?1:0); return map; } }

           

                        附上我的注册页面(带页面jq验证)

 

 





注册页面


欢迎注册
* 用户名不能为空!
* 设置密码不能为空!
* 确认密码不能为空!
* 邮箱地址不能为空!
* 姓名不能为空!
* 手机号码不能为空!
<@carshop_footer.footer/>

 

 

 

 

  • web项目 -页面注册 -邮箱链接注册_第3张图片
  • 大小: 39.2 KB
  • web项目 -页面注册 -邮箱链接注册_第4张图片
  • 大小: 101.9 KB
  • activation.jar (55 KB)
  • 下载次数: 0
  • mail.jar (495.9 KB)
  • 下载次数: 0
  • 查看图片附件

你可能感兴趣的:(java,发送邮件,邮件激活)