我们在这里输入账号、密码、邮箱后,后端的service层会判断账号、邮箱是否已被注册。如果没有,则会向邮箱中发送激活链接

在我们点击注册按钮之后,在service层中存入数据库,然后通过数据库中用户的id,来生成激活链接(http://localhost:8080/activation/151/da46a96eaf1a41ec8168fca35a3aa17d)。
系统将该链接发送到对应的邮箱中:通过**String content = templateEngine.process(“/mail/activation”, context);**将携带邮箱地址和链接的context与前端文字整合后,一同发送。
public void sendMail(String to, String subject, String content){try{MimeMessage message = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message);helper.setFrom(from);helper.setTo(to);helper.setSubject(subject);helper.setText(content,true);mailSender.send(helper.getMimeMessage());} catch (MessagingException e) {e.printStackTrace();LOGGER.error("发送邮件失败:"+e.getMessage());}}
发送成功后,我们在用户界面显示去激活界面:

查看邮箱里面的邮件:

点击链接后,系统判断链接中的userid和uuid是否和数据库中的一致,若一致,则修改用户的status,激活成功。
// 邮件激活账号public int activation(int userId, String code) {User user = userMapper.selectById(userId);if (user.getStatus() == 1) {return ACTIVATION_REPEAT;} else if (user.getActivationCode().equals(code)) {userMapper.updateStatus(userId, 1);//clearCache(userId);return ACTIVATION_SUCCESS;} else {return ACTIVATION_FAILED;}}

















