文章目录

  • 会员注册_邮箱验证码功能实现:
    • 前端操作:
    • 后端操作:
      • SpringBoot集成邮件发送验证码:
      • 1.导入发送邮件jar包
      • 2.配置
      • 3.Controller层处理
      • 4.service层注入、逻辑处理
      • 5、测试是否发送验证码

会员注册_邮箱验证码功能实现:

会员点击登录——>到达会员登录页面——>会员注册账号——>返回登录页面登录。

注册账号:通过邮箱验证码注册

邮箱验证模拟:

  • 准备两个QQ邮箱.

  • 一个QQ发送验证码,一个QQ接受验证码

  • 发送验证码的QQ就相当于QQ邮箱公司,你注册一个账号,公司给你一个验证码后,你注册成功

  • 正在注册为会员的账号:1643137133@qq.com

    (发送方)qq邮箱公司的账号:1689724409@qq.com

前端操作:

点击登录——>跳转到注册页面注册——>邮箱验证——>注册完成后回到登录界面登录

注册时:

  • 判断邮箱有没有被注册过

  • 判断邮箱账号输入格式对不对

  • 向后端提交邮箱账号,获取验证码

    • 点击获取验证码按钮,进入倒计时,1分钟之内按钮处于禁用状态,成功获取验证码后解除禁用
  • 提交表单数据到数据库后保存,注册成功

后端操作:

SpringBoot集成邮件发送验证码:

用一个qq号发送方 模拟 服务端发送验证码

1.导入发送邮件jar包

pom.xml

<!--java发送qq邮件-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2.配置

application.yml

#spiring配置
spring:mail:host: smtp.qq.comusername: 1689724409 #发送方qq号password: lcrijwfdgesjgdji  #授权码  qq邮箱生成的default-encoding: utf-8

3.Controller层处理

/*会员注册 生成注册的验证码,发给正在注册的邮箱账号*/
@GetMapping(value = "/createAuthCode")
public CommonResult createAuthCode(String email){try {//判断邮箱账号时候已经存在int  res = memberService.createAuthCode(email);if(res==0){return new CommonResult("生成成功",200,null);}else{return new CommonResult("生成失败",500,null);}}catch (Exception e){e.printStackTrace();return new CommonResult("生成失败",500,null);}
}

4.service层注入、逻辑处理

//邮箱验证注入
@Autowired
private JavaMailSender javaMailSender;//验证码放在缓存里面
@Autowired
RedisTemplate redisTemplate;
/*需要一个QQ号作为发送方,发送验证码,需要在QQ邮箱中做设置*/
public int createAuthCode(String email) {//验证邮箱格式  略  邮箱没有问题,就要发送请求,获取验证码//封装邮件信息SimpleMailMessage message = new SimpleMailMessage();message.setFrom("1689724409@qq.com");  //发送验证码的qq邮箱,模拟作为公司的服务端message.setTo(email);  //就是传过来的emil,正在注册的QQ邮箱账号message.setSubject("主题:注册验证码");String code = createCode();   //创建验证码message.setText(code);        //把创建的验证码set进message中mailSender.send(message);     //发送message//将验证码存放到redis 5分钟     reids中存放:通过键值对存放,键:emil, 值:code   redis中的验证码和你注册时输入的验证码一比对,正确就注册成功redisTemplate.opsForValue().set(email,code,5, TimeUnit.MINUTES);return 0;
}
public String createCode(){//随机生成6位数字验证码Random random = new Random();int randomNum = random.nextInt(1000000);//0-999999  000023  456 99898String randomCode = String.format("%06d", randomNum);//格式化return randomCode;
}

5、测试是否发送验证码

注册的账号:1643137133@qq.com 收到验证码,则发送验证码成功。

  • 看看redis中是否有缓存的验证码

实现会员注册功能时如何通过qq邮箱获取验证码,从而验证登录? 详细步骤相关推荐

  1. react-hooks + node 使用qq邮箱发送验证码,验证修改密码

    在平常,我们写登录注册react项目时,我们可能会考虑使用QQ邮箱发送验证码登录注册,或者使用QQ邮箱验证来修改密码,下面,我们就来使用QQ邮箱来简单发送个邮件. 1.当我们想在react项目中使用Q ...

  2. zblogphp登录和注册_zblog如何设置会员注册功能

    在独立ip虚拟主机环境下建设网站时,使用会员功能不仅可以作为站长统计数据的一种方式,而且也可以让自己的网站的内部信息增加一定的保护,还可以减少恶意评论和恶意灌水的行为.而现在绝大部分的网站程序都已经在 ...

  3. dedeCMS会员注册功能,如何开启或关闭?

    dedeCMS会员注册的时候,弹出提示信息:"系统关闭了会员功能,因此你无法访问此页面",(截图如下): 如何开启会员功能? 具体操作如下: "系统" > ...

  4. java发送qq邮箱验证_JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架)

    JAVA 实现 QQ 邮箱发送验证码功能(不局限于框架) 本来想实现 QQ 登录,有域名一直没用过,还得备案,好麻烦,只能过几天再更新啦. 先把实现的发送邮箱验证码更能更新了. 老规矩,更多内容在注释 ...

  5. 前端获取验证码、手机号登录、注册功能

    07.前端获取验证码.手机号登录.注册功能 Register.vue <template><div class="register"><div cla ...

  6. 第十七周--关于qq邮箱接受验证码功能的实现

    qq邮箱接收验证码 第一步:pom.xml导入配置 <!--QQ邮箱验证码所需jar包--><dependency><groupId>javax.activatio ...

  7. python爬取qq邮箱_使用Python模拟登录QQ邮箱获取QQ好友列表

    最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...

  8. Spring Boot 整合163或者qq邮箱发送验证码

    前记 最近做的项目中注册功能要用到验证码,本来想用阿里云的短信服务,但是有点小贵,就另辟捷径,选择了用邮箱来发送验证码.记录一下整合过程,也希望能帮助一些有需要的人. 正文 1.Spring Boot ...

  9. python获取qq好友ip_使用Python模拟登录QQ邮箱获取QQ好友列表

    最近因开发项目的需要,有一个需求,就是很多SNS网站都有的通过 Email地址 导入好友列表,不过这次要导入的不是Email 列表,而是QQ的好友列表. 实现方式: 通过google一搜,实现的方式大 ...

最新文章

  1. Tomcat 启动时 SecureRandom 非常慢解决办法
  2. 备份oracle中的大表
  3. c++ const 常指针
  4. Python列表和字典的方法总结
  5. 配置tomcat 7控制台账号
  6. 为什么要上大四???why
  7. elkan K-Means
  8. ignite java,Ignite 之计算运用的 Hello world
  9. 利用VBA在EXCEL 获取网页上的天气
  10. U盘里的文件怎么会不见了
  11. 09组团队项目-Alpha冲刺-3/6
  12. Linux如何查找域名IP地址
  13. Go语言处理Windows系统的图标ICO文件(下)
  14. ES压测工具(一):esrally工具入门与实践
  15. 图像分割中阈值的自动选取的研究及其算法实现
  16. SYSV IPC-共享内存
  17. 【笔记本保养】老机器的保养注意事项
  18. 【JLOI2014】松鼠的新家
  19. Tesla Autopilot技术架构整理(引用自EatElephant)
  20. Android把文字写到图片上生成图片+文字的新图片

热门文章

  1. 前端接收图片流并展示图片
  2. 常用元器件(三)电感
  3. 8g内存学习计算机专业够吗,电脑8g内存够用吗_win108g内存够吗-系统城
  4. pygame教程实例(八)不用3D引擎也可以写3D画面
  5. Bit-banging
  6. VMware Ubuntu虚拟机忘记密码
  7. 最初级的黑客入门教程,可实现简单的黑客基础操作(渗透/注入/攻击)
  8. Ubuntu18.04下安装openfoam的一种方法
  9. 有没有软件可以免费把PDF文件转PPT?
  10. C# ExecuteReader