java实现发送邮箱验证码

作者:五只小狗 时间:2022-07-05 07:40:07 

本文实例为大家分享了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邮箱找到设置

java实现发送邮箱验证码

找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 开启 :IMAP/SMTP服务 我已经开启了,不做演示了

java实现发送邮箱验证码

验证码生成的工具方法


/**
    * 生成随机验证码
    * @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实现发送邮箱验证码

java实现发送邮箱验证码

完成

来源:https://blog.csdn.net/qq_43898141/article/details/119886216

标签:java,邮箱,验证码
0
投稿

猜你喜欢

  • SpringBoot常用注解详细整理

    2022-12-15 18:53:01
  • MyBatis-Plus拦截器实现数据权限控制的示例

    2022-12-10 05:10:17
  • 使用IDEA创建servlet JavaWeb 应用及使用Tomcat本地部署的实现

    2023-09-11 06:04:09
  • Java线程安全问题小结_动力节点Java学院整理

    2021-09-25 21:01:43
  • fastjson转换对象实体@JsonProperty不生效问题及解决

    2023-10-07 00:13:51
  • WPF自定义实现IP地址输入控件

    2022-02-24 05:35:36
  • Java面向接口编程之简单工厂模式示例

    2021-07-14 21:40:27
  • Spring Cloud Config RSA简介及使用RSA加密配置文件的方法

    2023-11-28 22:39:26
  • Android Java try catch 失效问题及解决

    2023-06-17 17:07:33
  • Kafka常用命令之kafka-console-consumer.sh解读

    2022-06-11 00:20:32
  • Java数组高级算法与Arrays类常见操作小结【排序、查找】

    2022-12-02 15:17:14
  • 详解JAVA中的Collection接口和其主要实现的类

    2021-06-20 19:14:08
  • Java毕业设计实战之二手书商城系统的实现

    2022-03-21 14:06:20
  • Scala中的mkString的具体使用方法

    2023-11-16 00:18:18
  • Netty分布式pipeline管道创建方法跟踪解析

    2023-11-03 02:55:51
  • 基于Java实现Json文件转换为Excel文件

    2022-08-04 23:53:15
  • java教程之java注解annotation使用方法

    2023-11-13 20:18:57
  • Java实现提取QSV文件视频内容

    2023-08-24 13:33:45
  • Java多线程的其他知识_动力节点Java学院整理

    2023-09-06 06:01:58
  • java仿QQ微信聊天室功能的实现

    2022-05-14 17:44:28
  • asp之家 软件编程 m.aspxhome.com