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

回到顶部