Java 使用邮箱进行注册验证

本文介绍了如何在Java Springboot项目中实现邮箱注册验证功能。首先,需要引入email.jar依赖;接着,创建HTML格式的邮件并指定接收邮箱;然后,通过生成随机数的方法发送验证码到邮箱;最后,通过简单的前端页面进行验证码的发送和验证,成功后进入内部流程。

1、Springboot 使用邮箱进行注册验证需要导入依赖,如果是Java项目则需要导入email.jar

<!--email-->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-email</artifactId>
    <version>1.4</version>
</dependency>

 2、创建支持HTML的格式,然后接收两个参数,一个是进行验证码接收的邮箱

/**
     * @param email_addr  //接收到的邮箱号
     * @param code  验证码
     * @throws EmailException
     */
    public static void emailsned(String email_addr,String code) throws EmailException {
        //支持HTML格式
        HtmlEmail email = new HtmlEmail();
        //邮箱服务器地址(这里使用的是163邮箱、需要开通POP3/SMTP服务)
        email.setHostName("smtp.163.com");
        email.setCharset("utf-8"); //编码格式
        //接收地址(我给注册人发送邮件作为验证码)
        email.addTo(email_addr);
        //邮件的发送人(作者自己的邮箱)
        email.setFrom("xiao******@163.com");
        //发送人邮箱的授权密码(可以自己开通自己的163邮箱权限,需要获取序列码)
        email.setAuthentication("xiao******@163.com","KLZVRHSIMP*******");
        //设置邮箱标题
        email.setSubject("验证码!");
        //邮箱内容
//        email.setMsg("您的注册验证码是"+code+"如非本人,请忽略此邮件");
        email.setHtmlMsg("您的注册验证码是<h1>"+code+"</h1>,如非本人,请忽略此邮件");
        //邮件发送
        email.send();
    }

3、创建一个生成随机数的方法,并且用来调用邮箱,结果返回验证码的随机数

/**
     *
     * @param email_addr  注册人邮箱
     * @return
     * @throws EmailException
     */
    public static String Code(String email_addr) throws EmailException {
        StringBuffer buffer = new StringBuffer();
        Random random = new Random();
        for (int i = 0; i < 6; i++) { //生成6位数的验证码
            buffer.append(random.nextInt(10)+"");
        }
        //发送验证码导注册人的邮箱(验证码为buffer.toString())
        emailsned(email_addr, buffer.toString());
        //返回值是验证码
        return buffer.toString();
    }

4、测试,创建一个简单的页面,用来发送验证码和接收验证码,如果验证成功则进入内部

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值