手写邮箱获取验证码注册登录功能
找回密码的困扰
自己做了一个博客网站,有登录注册功能,但是没有找回密码功能,思考了许久,发现可以通过第三方来实现,第一想到的就是通过短信验证码,但是资金问题,一条0.1元,属是有点贵(多了就贵了),然后想到了用微信扫码,但是微信也收费,无奈之下用邮箱吧,感觉邮箱还不错,只需要开启STMP协议就行了,开启之后,会有一个密码,那个密码保存好,后面会用到。
开始创建
首先创建一个springboot项目,然后引入mail依赖,简单配置即可。
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>
</dependency>
配置yaml,密码为自己生成的
准备工作做好之后,下面来写一下获取验证码的方法,把获取到的验证码存到session中方便后续判断。
public String getCode(String email, HttpSession session) {int code = (int) (Math.random() * 1000000);String codeString = String.valueOf(code);if (codeString.length() != 6) {code = code + 100000;}SimpleMailMessage message = new SimpleMailMessage();// 设置邮箱标题message.setSubject("验证码");// 设置邮箱内容message.setText("您好!\n验证码为:"+ code);// 发送者邮箱message.setFrom(username);message.setTo(email);mailSender.send(message);session.setAttribute("email", email);session.setAttribute("code", code + "");return "success";}
获取到验证码之后,可以进行注册了
public BaseResult register(String email, String password, String code, HttpSession session) {User user = new User();String myEmail = (String) session.getAttribute("email");String myCode = (String) session.getAttribute("code");if (!email.equals(myEmail) || !code.equals(myCode)) {return BaseResult.error();}user.setUsername(UUID.randomUUID().toString());user.setEmail(email);user.setPassword(password);user.setSalt("abc");user.setHeadUrl("url");userMapper.addUser(user);return BaseResult.ok();}
注册完之后,就可以进行登录了。
public BaseResult Login(String email, String password) {User user = userMapper.selectUserByEmail(email);if (user.getPassword().equals(password)) {return BaseResult.ok();}return BaseResult.error();}
手写邮箱获取验证码注册登录功能相关推荐
- 手写一个获取验证码的接口,超级简单
手写一个获取验证码的接口,超级简单,觉得有用就试试吧,话不多说代码附上 private static final int VERIFY_CODE_HEIGHT = 25; //验证码高度private ...
- JavaWeb实现注册登录功能并将用户数据写进数据库(商城系统第一部分)
JavaWeb实现注册登录功能并将用户数据写进数据库(商城系统第一部分) 声明:本人并非项目原创,该商城系统原创来自撩课高新强老师:https://study.163.com/course/intro ...
- 手机短信验证码一键注册登录功能开发 2
1. 上一篇我们开发好了 短信验证码的发送功能, 接下来开发 我们的 一键登录注册功能 2. 有前端的视图我们可以看到, 传入的参数为手机号和验证码,我们用BO对其进行统一的封装,同时使用valid ...
- 一步步开发自己的博客 .NET版(3、注册登录功能)
前言 这次开发的博客主要功能或特点: 第一:可以兼容各终端,特别是手机端. 第二:到时会用到大量html5,炫啊. 第三:导入博客园的精华文章,并做分类.(不要封我) ...
- 01: 实现注册登录功能
目录:抽屉项目之js最佳实践 01: 实现注册登录功能 02: 实现发布帖子功能 03: 将帖子展示到页面.点赞 04: 层级评论 目录: 1.1 显示.隐藏 "登录/注册" 菜单 ...
- SpringBoot集成腾讯云短信实现注册/登录功能
前言 笔记参考 Duktig丶 JavaSDK地址:短信 Java SDK - SDK 文档 - 文档中心 - 腾讯云 1.导入依赖 <dependency><groupId> ...
- 8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能
现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http ...
- 06-发送短信验证码实现登录功能
1.发送短信验证码实现登录功能的流程 1.1.获取验证码流程 1.2.登录流程 1.3.页面带有图形验证码的流程 2. 注册登录二合一页面的开发 2.1.将src目录下的App.vue页面上通用显示的 ...
- java基础5:工厂模式、单例模式、File文件类、递归、IO流、Properties配置文件、网络编程、利用IO流模拟注册登录功能、关于反射、JDK动态代理
1.工厂模式 23种java设计模式之一 1)提供抽象类(基类) 2)提供一些子类,完成方法重写 3)提供一个接口:完成具体子类的实例化对象的创建,不能直接new子类,构造函数私有化. 优点:具体的子 ...
最新文章
- 洛谷 P1028 数的计算
- 下载数据CityEngine示例数据(Tutorial)配套视频教程(英文)
- AcWing 164. 可达性统计
- Mybatis报错ClassNotfind
- 内存管理之slab分配器
- php充值卡,ecshop 充值卡功能_懒人程序
- python单元测试unittest
- visual studio哪一款比较好用_时下比较流行的7种家居装修风格,你钟爱哪一款?...
- C++ 泛型模板进阶
- python编写makefile_Python项目中的Makefiles
- java实现 mysql导入_怎么用java实现mysql数据库的导入导出
- 对初学者来说,Python难度不低于其他语言
- Atitit SpringCache缓存使用 艾提拉 attilax总结 1. Spring的抽象已经做得够好了,适合于大多数场景,非常复杂的就需要自己AOP实现了。	1 1.1. 设置配置文件支持
- OSPF基础知识及配置命令
- Python3爬虫中Selenium的用法详解
- VS2015调试无法加载PDB 文件
- java jit 原理_java的JIT 工作原理简单介绍
- 内存泄漏、虚拟内存、物理内存的联系
- 基于微信小程序的教学评价平台开发
- 施耐德PLC初始IP地址计算