java实现发送邮箱验证码

 更新时间:2021年08月26日 11:01:49   作者:五只小狗  
这篇文章主要为大家详细介绍了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;
    }

运行结果

完成

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 剑指Offer之Java算法习题精讲链表与数组专项训练

    剑指Offer之Java算法习题精讲链表与数组专项训练

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • SpringBoot 中使用 Validation 校验参数的方法详解

    SpringBoot 中使用 Validation 校验参数的方法详解

    Validation 是用于检查程序代码中参数的有效性的框架,作为 Spring 框架中的一个参数校验工具,集成在 spring-context 包中,这篇文章主要介绍了SpringBoot 中使用 Validation 校验参数,需要的朋友可以参考下
    2022-05-05
  • Java解决代码重复的三个绝招分享

    Java解决代码重复的三个绝招分享

    本文将从业务代码中最常见的三个需求展开,聊聊如何使用 Java 中的一些高级特性、设计模式,以及一些工具消除重复代码,才能既优雅又高端
    2022-07-07
  • Spring中集成Groovy的四种方式(小结)

    Spring中集成Groovy的四种方式(小结)

    这篇文章主要介绍了Spring中集成Groovy的四种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • Spring实战之使用XML方式管理声明式事务操作示例

    Spring实战之使用XML方式管理声明式事务操作示例

    这篇文章主要介绍了Spring实战之使用XML方式管理声明式事务操作,结合实例形式详细分析了Spring XML方式管理声明式事务具体步骤、配置、接口及使用技巧,需要的朋友可以参考下
    2020-01-01
  • Java远程连接Linux服务器并执行命令及上传文件功能

    Java远程连接Linux服务器并执行命令及上传文件功能

    这篇文章主要介绍了Java远程连接Linux服务器并执行命令及上传文件功能,本文是小编整理的代码笔记,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-05-05
  • Java Swagger使用教程

    Java Swagger使用教程

    Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 Restful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法、参数和模型紧密集成到服务器端的代码,允许API来始终保持同步
    2022-07-07
  • SpringMVC事件监听ApplicationListener实例解析

    SpringMVC事件监听ApplicationListener实例解析

    这篇文章主要介绍了SpringMVC事件监听ApplicationListener实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • 五种JAVA GUI布局管理的方式

    五种JAVA GUI布局管理的方式

    这篇文章主要介绍了JAVA几种GUI布局管理的相关知识,文中代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 高并发环境下安全修改同一行数据库数据的策略分享

    高并发环境下安全修改同一行数据库数据的策略分享

    随着互联网技术的发展,越来越多的应用需要在高并发环境中运行,数据库的并发控制成为了业务的关键,本文将介绍如何在高并发情况下,安全地修改数据库中的同一行数据,需要的可以参考一下
    2023-06-06

最新评论