以下是基于 Ruoyi 框架的邮箱验证码发送的 Controller 层代码示例:

@RestController
@RequestMapping("/email")
public class EmailController {
    
    @Autowired
    private JavaMailSender mailSender; // 邮件发送器
    
    @PostMapping("/sendCode")
    public R sendCode(@RequestParam String email) {
        // 生成6位随机验证码
        String code = RandomStringUtils.randomNumeric(6);
        
        // 发送邮件
        try {
            SimpleMailMessage message = new SimpleMailMessage();
            message.setFrom("yourEmail@qq.com"); // 发件人邮箱
            message.setTo(email); // 收件人邮箱
            message.setSubject('验证码'); // 邮件主题
            message.setText('您的验证码为:' + code); // 邮件内容
            
            mailSender.send(message); // 发送邮件
            
            // 将验证码存入缓存中,以便后续校验
            // TODO: 将验证码存入缓存中
        } catch (Exception e) {
            return R.error("邮件发送失败!");
        }
        
        return R.ok("验证码发送成功");
    }
    
    @PostMapping("/verifyCode")
    public R verifyCode(@RequestParam String email, @RequestParam String code) {
        // 从缓存中获取验证码
        // TODO: 从缓存中获取验证码
        String cachedCode = '123456';
        
        if (StringUtils.equals(cachedCode, code)) {
            return R.ok("验证码正确");
        } else {
            return R.error("验证码错误");
        }
    }
}

上述代码中,sendCode() 方法用于发送验证码邮件,接收一个邮箱地址作为参数,生成 6 位随机数字作为验证码,发送邮件后将验证码存入缓存中。verifyCode() 方法用于校验验证码是否正确,接收一个邮箱地址和验证码作为参数,从缓存中获取验证码进行比对,返回校验结果。

注意:上述代码仅为示例,具体实现需要根据具体业务需求进行调整。另外,缓存的实现可以使用 redis 等第三方缓存库,也可以使用 Spring 自带的缓存注解来实现。

Ruoyi 框架邮箱验证码发送 Controller 代码示例

原文地址: https://www.cveoy.top/t/topic/mSJq 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录