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;
    }

运行结果

完成

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

相关文章

  • 将SpringBoot项目无缝部署到Tomcat服务器的操作流程

    将SpringBoot项目无缝部署到Tomcat服务器的操作流程

    SpringBoot 是一个用来简化 Spring 应用初始搭建以及开发过程的框架,我们可以通过内置的 Tomcat 容器来轻松地运行我们的应用,本文给大家介绍 SpringBoot 项目部署到独立 Tomcat 服务器的操作流程,需要的朋友可以参考下
    2024-05-05
  • break在scala和java中的区别解析

    break在scala和java中的区别解析

    这篇文章主要介绍了break在scala和java中的区别解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • java 中 ChannelHandler的用法详解

    java 中 ChannelHandler的用法详解

    这篇文章主要介绍了java 中 ChannelHandler的用法详解的相关资料,ChannelHandler处理一个I/O event或者拦截一个I/O操作,需要的朋友可以参考下
    2017-08-08
  • testNG项目通过idea Terminal命令行执行的配置过程

    testNG项目通过idea Terminal命令行执行的配置过程

    这篇文章主要介绍了testNG项目通过idea Terminal命令行执行,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • 浅谈Spring Boot 异常处理篇

    浅谈Spring Boot 异常处理篇

    本篇文章主要介绍了浅谈Spring Boot 异常处理篇,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 一篇文章搞定Struts2的类型转换

    一篇文章搞定Struts2的类型转换

    这篇文章主要介绍了关于Struts2类型转换的相关资料,文中主要介绍了Struts2的类型转换器和自定义类型转换器的实现,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • java关键字static的使用详解

    java关键字static的使用详解

    这篇文章主要介绍了java关键字static的使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • jvm虚拟机类加载机制详解

    jvm虚拟机类加载机制详解

    本文主要介绍了 jvm虚拟机类加载机制详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Mac安装多个JDK并实现动态切换

    Mac安装多个JDK并实现动态切换

    有时候我们有多个项目需要使用多个版本JDK,本文主要介绍了Mac安装多个JDK并实现动态切换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • java实现简易计算器功能

    java实现简易计算器功能

    这篇文章主要为大家详细介绍了java实现简易计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06

最新评论