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)

相关推荐

  • Java发送邮箱验证码、session校验功能

    本篇主要描述"发送邮箱验证码.session校验"相关前(html\js)后(java)台代码,业务逻辑示例,闲话少诉,直接上代码. 1.引入的jar包是mail-1.4.jar 2.java底层发送邮箱方法 public boolean sendEMail(Map<String, Object> map) { log.info("電子郵件接口執行開始!"); String from = Cache.getInstance().getParamsCons

  • java实现发送邮箱验证码

    本文实例为大家分享了java实现发送邮箱验证码的具体代码,供大家参考,具体内容如下 添加依赖 <!-- 邮箱验证码 https://mvnrepository.com/artifact/org.apache.commons/commons-email --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-email</artifactId>

  • SpringBoot发送邮箱验证码功能

    一.开启QQ邮箱服务 (1)登陆QQ找到设置,点击账户 (2)往下拉,开启POP3/SMTP服务和IMAP/SMTP服务 当开启IMAP/SMTP会有一串密文密码,保存起来后面要用到 二.spring boot配置邮箱服务   在spring boot的配置文件application.yml中添加以下配置 spring: mail: username: 1963342385@qq.com password: yqc...fchj host: smtp.qq.com password是在开启邮箱服

  • nodejs实现发送邮箱验证码功能

    本文实例为大家分享了nodejs实现发送邮箱验证码的具体代码,供大家参考,具体内容如下 今天做了个小demo,是用nodejs实现注册时(当然在别的地方也是可以用的)的邮箱验证功能,大体就是往指定的邮箱发送六位验证码.以下是详细步骤. 1.使用模块:nodemailer 安装:npm install nodemailer --save 2.首先是来写一下前台注册界面,不说了,先上图.(不想看这一段的话直接跳到最后看邮箱验证码的实现) 然后实现以下以下效果(看图先),就是点击发送验证码时出现一分钟

  • SpringBoot发送html邮箱验证码功能

    1. 效果展示(用户收到的) 2. 邮件推送管理(见以后的博客) 先看看如果管理员手动发送该如何操作 3. 后端核心代码(通用版) 3.1 SendEmailVO实体类 package com.example.han.model.VO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstr

  • Flask项目中实现短信验证码和邮箱验证码功能

    Flask是一个用Python编写的Web应用程序框架,Flask是python的web框架,最大的特征是轻便,让开发者自由灵活的兼容要开发的feature. 它由 Armin Ronacher 开发,他领导一个名为Pocco的国际Python爱好者团队. Flask基于Werkzeug WSGI工具包和Jinja2模板引擎.两者都是Pocco项目. 这篇文章给大家介绍Flask项目中实现短信验证码和邮箱验证码功能,具体内容如下所示: 一.发送邮箱验证码 1.使用QQ邮箱发送验证码 ①配置 开启

  • Python+Selenium实现读取网易邮箱验证码

    前面写到了一些关于python+Selenium的基础操作 的教程,这篇文章将讲解一些实战内容. 在自动化工作中,有可能会遇到一些发送邮箱验证码类似的功能,如下 我们一般的解决思路就是 : 发送邮件—>打开邮箱—>输入邮箱账户密码—>登录邮箱—>打开未读邮件—>获取验证码—>保存验证码—>读取验证码 以下是一个实现打开网易邮箱读取未读邮件获取验证码的代码 def wangyi(self,username, password, name): dr = webdriv

  • java web实现邮箱发送功能

    本文实例为大家分享了java web实现邮箱发送功能的具体代码,供大家参考,具体内容如下 1.邮箱协议 电子邮件的在网络中传输和网页一样需要遵从特定的协议,常用的电子邮件协议包括 SMTP,POP3,IMAP.其中邮件的创建和发送只需要用到 SMTP协议,所有本文也只会涉及到SMTP协议.SMTP 是 Simple Mail Transfer Protocol 的简称,即简单邮件传输协议. 2.需要使用的jar包 下载地址 3.代码实现 package com.bhkj.ShoppingMall

  • 如何使用Java redis实现发送手机验证码功能

    要求: 1.输入手机号,点击发送后随机生成6位数字码,2分钟有效 2.输入验证码,点击验证,返回成功或失败 3.每个手机号每天只能输入3次 代码如下 import redis.clients.jedis.Jedis; import java.util.Random; public class ValidationTest { public static void main(String[] args) { //getValidation("15005076571"); //checkV

  • Java实现SMS短信通发送手机验证码案例讲解

    注册网建短信通账号 链接:http://sms.webchinese.cn/ 设置短信签名 注意不要乱写别的公司等,会被视为诈骗信息 设置短信密钥,发送时代替密码 Java方式实现 导入依赖 commons-httpclient-3.1.jar 编写SmsUtil工具类 import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.ap

随机推荐