700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 瑞吉外卖qq邮箱验证码登录

瑞吉外卖qq邮箱验证码登录

时间:2022-08-22 14:36:22

相关推荐

瑞吉外卖qq邮箱验证码登录

一、开启 POP3/SMTP服务 获得的授权码

进入qq邮箱

没有开启服务要选择开启,开启了的话需要点击管理服务,

进入管理服务的安全设置点击生成授权码

微信扫码短信验证

然后需要你保存好这个授权码后面要用

二、前端登录界面拦截器修改

修改提示

修改邮箱匹配正则表达式

三、修改pom.xml和application.yml

pom.xml

<!-- 邮件服务 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><!-- Thymeleaf --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

application.yml

# 邮箱配置mail:host: username: [1312831081@] # 开启IMAP/SMTP服务对应qq邮箱的账号password: [qewrgszdg] # 前面开启 IMAP/SMTP服务获得的授权码default-encoding: UTF-8

二、后端接口修改

controller

@PostMapping("/sendMsg")public R<String> sendMsg(@RequestBody User user, HttpSession session) {// 获取邮箱账号String phone = user.getPhone();String subject = "瑞吉外卖登录验证码";if (StringUtils.isNotEmpty(phone)) {String code = ValidateCodeUtils.generateValidateCode(4).toString();String context = "登录验证码为: " + code + ",五分钟内有效!";log.info("code={}", code);// 发送邮箱验证码userService.sendMsg(phone, subject, context);// 验证码缓存到Redis中,有效时间为 5分钟redisTemplate.opsForValue().set(phone, code, 5, TimeUnit.MINUTES);return R.success("验证码发送成功!");}return R.error("验证码发送失败,请重新输入!");}

Service

void sendMsg(String to,String subject,String context);

ServiceImpl

@Value("${spring.mail.username}")private String from; // 邮件发送账号对应yml文件,即开启IMAP/SMTP服务对应qq邮箱的账号@Autowiredprivate JavaMailSender mailSender;@Overridepublic void sendMsg(String to, String subject, String context) {SimpleMailMessage mailMessage = new SimpleMailMessage();mailMessage.setFrom(from);mailMessage.setTo(to);mailMessage.setSubject(subject);mailMessage.setText(context);mailSender.send(mailMessage);}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。