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; }
运行结果
完成
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
赞 (0)