JAVAWeb使用QQ邮箱发送验证码功能实现

第一步

         打开QQ邮箱 -----> 设置  ------> 账户--------->向下拉有POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

         打开Pop3/SMPT服务  获取邮箱授权码(代码中需要使用,这个授权码并不是一定的 ,需要时获取就OK)

第二步

        导入jar包          分别是  activation        commons-email-1.5        javax.mail  三个

第三步 

        书写代码

          (1).   生成随机验证码

// 随机验证码
public String achieveCode() {
String[] beforeShuffle= new String[] { "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F",
"G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "a",
"b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
"w", "x", "y", "z" };
List list = Arrays.asList(beforeShuffle);
Collections.shuffle(list);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < list.size(); i++) {
sb.append(list.get(i));
}
String afterShuffle = sb.toString();
String result = afterShuffle.substring(3, 9);
System.out.print(result);
return result;
}

         (2).发送验证码至邮箱

   

// 发送验证码
public String sendEamilCode(String eamil) {
HtmlEmail send = new HtmlEmail();
// 获取随机验证码
String resultCode = achieveCode(); 
try {
send.setHostName("smtp.qq.com");              
send.setSmtpPort(465);                                            //端口号
send.setSSLOnConnect(true);                                   //开启SSL加密
send.setCharset("utf-8");
send.addTo(eamil);                                                  //接收者的QQEamil
send.setFrom("19XXXXXXX@qq.com", "XX);          //第一个参数是发送者的QQEamil   第二个参数是发送者QQ昵称
send.setAuthentication("19XXXXXXX@qq.com", "yszsozustfjsjaaj");  //第一个参数是发送者的QQEamil   第二个参数是刚刚获取的授权码
send.setSubject(checkAmOrPm() + ",小渣渣特给您送上验证码");            //Eamil的标题  第一个参数是我写的判断上下午,删掉即可
send.setMsg("HelloWorld!欢迎大大光临,特此送上验证:   " + resultCode + "   请大大签收");   //Eamil的内容


send.send();            //发送
} catch (EmailException e) {
e.printStackTrace();
}
return resultCode;        //同等验证码
}


jar包下载  百度网盘

链接:https://pan.baidu.com/s/1o9M2e0a 

密码:y564

    

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值