Java实现QQ邮箱发送验证码

导读:本篇文章讲解 Java实现QQ邮箱发送验证码,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

引子

初步实现通过qq邮箱发送验证码的功能,可结合其他技术和自身需求对代码进行扩展。

第一步:在qq邮箱中开启SMTP服务,获取授权码

![在这里插入图片描述](https://img-blog.csdnimg.cn/a11e115d47ab47c89cb472409105c443.png

  • 往下翻:
    在这里插入图片描述

  • 点击开启并完成相应安全验证后会给你一串授权码,后面需要用到
    在这里插入图片描述

第二步:创建maven或spring工程,导入如下坐标

        <!--QQ邮箱验证码所需jar包-->
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>

        <dependency>
            <groupId>javax.mail</groupId>
            <artifactId>mail</artifactId>
            <version>1.4.7</version>
        </dependency>

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

第三步:创建邮箱工具类,写入如下方法

    /**
     * 发送邮件代码
     * @param targetEmail 目标邮箱
     * @param authCode 验证码
     */
    public  void sendEmailCode(String targetEmail, String authCode) {
        try {
            SimpleEmail mail = new SimpleEmail();
            // 发送邮件的服务器
            mail.setHostName("smtp.qq.com");
            // 刚刚记录的授权码,是开启SMTP的密码
            mail.setAuthentication("邮箱号", "授权码");
            // 发送邮件的邮箱和发件人
            mail.setFrom("邮箱号", "用户名");
            // 使用安全链接
            mail.setSSLOnConnect(true);
            // 接收人的邮箱
            mail.addTo(targetEmail);
            // 邮件的主题(标题)
            mail.setSubject("注册验证码");
            // 邮件的内容
            mail.setMsg("验证码为:" + authCode);
            // 发送
            mail.send();
        } catch (EmailException e) {
            e.printStackTrace();
        }
    }

第四步:在web项目中调用

@RestController
public class SendMail {

    @PostMapping("/getCode")
    @ResponseBody
    public String mail(@RequestParam("targetEmail") String targetEmail) {
        //生成六位数验证码
        String authCode = String.valueOf(new Random().nextInt(899999) + 100000);
        SendMailUtil.sendEmailCode(targetEmail, "你的验证码为" + authCode + "(五分钟内有效)");
        return "ok";
    }
}

第五步:在postman中测试功能

在这里插入图片描述

  • 测试成功
    在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82600.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!