1.需要导入相应的jar包,以及打开qq邮箱SMTP服务
1.1在pom.xml导入发送email的依赖
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-email -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.5</version>
</dependency>
1.2开启邮件服务
打开邮箱里的SMTP服务
2. 核心代码
//生成6位数 验证码
public static String random1(){
String code = "";
Random rd=new Random();
for (int i = 0; i < 6; i++) {
int r = rd.nextInt(10); //每次随机出一个数字(0-9)
code = code + r; //把每次随机出的数字拼在一起
}
System.out.println(code);
return code;
}
发送验证码
//发送 这里的参数为 qq 和验证码
public static void test(String email,String yzm){
HtmlEmail send = new HtmlEmail();//创建一个HtmlEmail实例对象
// 获取随机验证码
String resultCode = yzm;
try {
send.setHostName("smtp.qq.com");
send.setAuthentication("XXX@qq.com", "开启连接后获取的密钥"); //第一个参数是发送者的QQEamil邮箱 第二个参数是刚刚获取的授权码
send.setFrom("XXX@qq.com", "若轩");//发送人的邮箱为自己的,用户名可以随便填 记得是自己的邮箱不是qq
send.setSSLOnConnect(true); //开启SSL加密
send.setCharset("utf-8");
send.addTo(email); //设置收件人 email为你要发送给谁的邮箱账户 上方参数
send.setSubject("戏曲网注册:"); //邮箱标题
send.setMsg("注册的验证码"+yzm+" 请快点注册噢,30分钟后将会失效"); //Eamil发送的内容
send.send(); //发送
} catch (EmailException e) {
e.printStackTrace();
}
}
使用只需要将
send.setAuthentication(“XXX@qq.com”, “开启连接后的密钥”);//第一个参数是发送者的QQEamil邮箱 第二个参数是刚刚获取的授权
send.setFrom("XXX@qq.com", "若轩");//发送人的邮箱为自己的,用户名可以随便填
进行修改成自己的即可使用