日常生活中,经常遇到这种情况,在注册新账号时,网站会要求输入邮箱,并且注册成功后会发一封邮件到你的邮箱,点击邮件中的链接后账号才能够激活并使用,
网站商家有这两个目的,一是辨别恶意操作,二是定向推广,有了你邮箱就方便给你发广告。下面介绍一种开发中常用的邮箱验证工具类
①完整邮箱发送代码:
1 package com.didinx.filter; 2 3 import org.apache.commons.mail.EmailException; 4 import org.apache.commons.mail.HtmlEmail; 5 import org.junit.jupiter.api.Test; 6 7 /** 8 * @author o_0sky 9 * @date 2019/2/12 13:35 10 */ 11 public class emailtsk { 12 @Test 13 public void testMail() throws EmailException { 14 //创建HtmlEmail对象,封装邮件发送参数 15 HtmlEmail htmlEmail = new HtmlEmail(); 16 //设置邮件服务器地址 17 htmlEmail.setHostName("smtp.163.com"); 18 //设置你的邮箱账号和第三方使用邮件授权码 19 htmlEmail.setAuthentication("xxx@163.com", "lin123"); 20 //设置收件人,多个收件人的话,此语句多写几次 21 htmlEmail.addTo("xxx@163.com","新注册用户"); 22 //htmlEmail.addTo("xxx@163.com","test"); 23 //设置发件信息 24 htmlEmail.setFrom("xxx@163.com","【博客园】"); 25 //设置邮件编码 (网易邮箱解码为gb2312) 26 htmlEmail.setCharset("gb2312"); 27 //设置邮件主题 28 htmlEmail.setSubject("【博客园注册激活邮件】"); 29 //设置邮件正文 30 htmlEmail.setMsg("<h2>恭喜你,注册成功!</h2>"+ 31 "<a href='http://localhost:8080/userServlet?methodName=active&code=123'>请点击链接进行激活</a>"); 32 //发送邮件 33 htmlEmail.send(); 34 } 35 36 }
②封装成工具类:
《1》挂载配置文件:
《2》抽取工具类
1 package com.heima.travel.utils; 2 3 import org.apache.commons.mail.EmailException; 4 import org.apache.commons.mail.HtmlEmail; 5 6 import java.util.ResourceBundle; 7 8 /** 9 * @author buguniao 10 * @version v1.0 11 * @date 2019/1/18 17:00 12 * @description 邮件发送相关的工具类 13 **/ 14 public class MailUtil { 15 16 private static String hostname; 17 private static String username; 18 private static String password; 19 private static String charset; 20 21 22 //提前加载邮件发送相关的配置信息 23 static { 24 ResourceBundle bundle = ResourceBundle.getBundle("mail"); 25 hostname = bundle.getString("hostname"); 26 username = bundle.getString("username"); 27 password = bundle.getString("password"); 28 charset = bundle.getString("charset"); 29 } 30 31 32 /** 33 * 发送邮件 34 * @param emailTo 35 * @param msg 36 */ 37 public static void emeilSend(String emailTo,String msg) throws EmailException { 38 39 HtmlEmail htmlEmail = new HtmlEmail(); 40 41 //服务器参数 42 htmlEmail.setHostName(hostname); 43 htmlEmail.setAuthentication(username, password); 44 htmlEmail.setCharset(charset); 45 46 //发件人和收件人 47 htmlEmail.setFrom(username, "【博客园官网】"); 48 htmlEmail.addTo(emailTo, "新注册用户"); 49 50 //邮件内容 51 htmlEmail.setSubject("【博客园注册激活邮件】"); 52 htmlEmail.setMsg(msg); 53 54 //发送邮件 55 htmlEmail.send(); 56 } 57 58 59 60 61 62 63 64 65 66 67 68 }