java实现发送邮箱验证码
本文实例为大家分享了java实现发送邮箱验证码的具体代码,供大家参考,具体内容如下
添加依赖
<!-- 邮箱验证码 https://mvnrepository.com/artifact/org.apache.commons/commons-email -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-email</artifactId>
<version>1.4</version>
</dependency>
以qq邮箱为例登入qq邮箱找到设置
找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启 :IMAP/SMTP服务 我已经开启了,不做演示了
验证码生成的工具方法
/**
* 生成随机验证码
* @param number 几位数
* @return
*/
@Override
public String generateVerifyCode(int number) {
Random random = new Random();
StringBuilder builder = new StringBuilder();
for (int i = 1; i <= number; i++) {
builder.append(random.nextInt(10));
}
return builder.toString();
}
/**
* 发送验证码
* @param email
* @return
*/
@Override
public int sendAuthCodeEmail(String email) {
try {
HtmlEmail mail = new HtmlEmail();
/*发送邮件的服务器 126邮箱为smtp.126.com,163邮箱为163.smtp.com,QQ为smtp.qq.com*/
mail.setHostName("smtp.qq.com");
/*不设置发送的消息有可能是乱码*/
mail.setCharset("UTF-8");
/*IMAP/SMTP服务的密码*/
mail.setAuthentication("发送消息的邮箱如:2212312@qq.com", "密码");
/*发送邮件的邮箱和发件人*/
mail.setFrom("发件邮箱", "发件人");
/*使用安全链接*/
mail.setSSLOnConnect(true);
/*接收的邮箱*/
mail.addTo("123123@qq.com");
/*验证码*/
String code = this.generateVerifyCode(6);
/*设置邮件的主题*/
mail.setSubject("注册验证码");
/*设置邮件的内容*/
mail.setMsg("尊敬的用户:你好! 注册验证码为:" + code + "(有效期为一分钟)");
mail.send();//发送
} catch (Exception e) {
return 0;
}
return 1;
}
运行结果
完成
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
以上是 java实现发送邮箱验证码 的全部内容, 来源链接: utcz.com/p/248224.html