javaMail发送邮件激活注册用户
来源:互联网 发布:电池校准软件 编辑:程序博客网 时间:2024/04/30 00:16
做用户注册模块,javaMail实现用户激活,本以为不怎么费力,结果在做的过程中遇到些问题,分享一下
~1javaMAil 发邮件需要导入两个包,mail.jar和activation.jar ,直接引入到lib下
~2邮件发送者必须开通POP3/IMAP/SMTP 服务(开始没注意这个问题,浪费一些时间)
~3个人使用的springmvc+mybatis SendMail 实现如下
package com.spring.util;import java.util.Properties;import javax.mail.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import javax.mail.internet.MimeMessage;public class SendMail { /** * @param args * @throws Exception */ public static void sendEmail(String recEmail,String url) throws Exception { Properties prop = new Properties(); prop.setProperty("mail.host", "smtp.qq.com"); prop.setProperty("mail.transport.protocol", "smtp"); prop.setProperty("mail.smtp.auth", "true"); //使用JavaMail发送邮件的5个步骤 //1、创建session Session session = Session.getInstance(prop); //开启Session的debug模式,这样就可以查看到程序发送Email的运行状态 session.setDebug(true); //2、通过session得到transport对象 Transport ts = session.getTransport(); //3、使用邮箱的用户名和密码连上邮件服务器,发送邮件时,发件人需要提交邮箱的用户名和密码给smtp服务器,用户名和密码都通过验证之后才能够正常发送邮件给收件人。 ts.connect("smtp.qq.com", "邮箱账户", "邮箱密码"); //4、创建邮件 Message message = createSimpleMail(recEmail,url,session); //5、发送邮件 ts.sendMessage(message, message.getAllRecipients()); ts.close(); } public static MimeMessage createSimpleMail(String receiverEmail,String url,Session session) throws Exception { //创建邮件对象 MimeMessage message = new MimeMessage(session); //指明邮件的发件人 message.setFrom(new InternetAddress("******@qq.com")); //指明邮件的收件人,现在发件人和收件人是一样的,那就是自己给自己发 message.setRecipient(Message.RecipientType.TO, new InternetAddress(receiverEmail)); //邮件的标题 message.setSubject("邮件验证"); //邮件的文本内容 message.setContent("点击下面的地址完成激活"+"<br/>"+"<a href='"+url+"'>"+url+"</a>", "text/html;charset=UTF-8"); //返回创建好的邮件对象 return message; } }
~4用户注册,模块,个人思想是注册后先把基本信息存入数据库,设置state字段验证是否激活
/** * 用户注册模块 * @param email * @param password * @param username * @param model * @return */@RequestMapping(value="/reg",method=RequestMethod.POST)public String reg(String email,String password,String username,Model model,HttpServletRequest request){System.out.println("用户注册");User u=new User(username,email,password);//添加一个用户的基本信息,但是不进行激活userService.addUserCommon(u);//查找刚刚添加进去的用户的信息User userInfo=userService.getUserByEmail(email);//根据自己需要自行修改String url="http://localhost:8080/cainiao/FinshReg?RegId=" + userInfo.getId();/** * 发送邮件 */SendMail send=new SendMail();try {send.sendEmail(email,url);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return "redirect:/user/regMailSendSuccess";}
~5点击邮箱链接完成注册
/** * 将用户信息激活,完成注册 * @return */ @RequestMapping(value="/FinshReg")public String FinshReg(String RegId){ int regId=Integer.parseInt(RegId); userService.updateRegUser(regId); System.out.println("用户已经激活"); return "user/index";}
附带所需jar包下载链接,,,希望多多支持
http://download.csdn.net/detail/stevejobson/9194385
2 0
- javaMail发送邮件激活注册用户
- 网上商城之用户注册发送邮件激活
- 注册发送激活邮件
- javaMail邮件激活用户出错
- ASP.NET MVC通过发送邮件激活注册用户
- javamail之实现注册激活邮件
- 【JavaMail】(2)JavaMail的一个案例:用户在网站上注册完成后给用户发一封邮件, 且需要用户通过邮件激活后才可以使用。
- 使用JavaMail发送注册验证邮件
- 使用JavaMail发送注册验证邮件 .
- .NET实现注册发送邮件激活账户
- 实现用户注册时,向其油箱发送激活码邮件,并进行状态处理
- 实现用户注册时,向其油箱发送激活码邮件,并进行状态处理
- SSH网上商城(一)---用户注册激活邮件
- 演示账号激活的过程:注册——>向指定邮箱发送邮件——>用户登录邮箱,激活账号
- java 实现注册时发送激活邮件+激活
- java 实现注册时发送激活邮件+激活
- java 实现注册时发送激活邮件并激活
- java 实现注册时发送激活邮件+激活
- 生产者消费者模式
- Android permission 访问权限大全
- 知道一个向量的坐标与另一个向量的长度,两向量垂直,怎么求另一个向量的坐标
- String.format()使用方法
- 151017总结
- javaMail发送邮件激活注册用户
- Android提示框Dialog
- Android ViewPager屏蔽预加载
- 分割 回文字符串
- leetcode Unique Paths
- 怎么解决每次打开Office 2013都提示配置进度
- Android的使用介绍
- FastJson使用
- Android SQLite 的学习