springboot中怎么实现一个邮箱验证码功能

springboot中怎么实现一个邮箱验证码功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

成都创新互联主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、营销型网站建设、网站程序开发、HTML5响应式重庆网站建设公司移动网站建设、微商城、网站托管及成都网站维护公司、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为成都阳光房行业客户提供了网站制作服务。

1、首先创建maven项目,配置pom文件

4.0.0  com.example springbootdemo 0.0.1-SNAPSHOT jar  springbootdemo Demo project for Spring Boot   org.springframework.boot spring-boot-starter-parent 2.0.4.RELEASE   UTF-8 UTF-8 1.8   org.springframework.boot spring-boot-starter-web org.mybatis.spring.boot mybatis-spring-boot-starter 1.3.2 org.springframework.boot spring-boot-starter-mail commons-io commons-io 2.4 MySQL mysql-connector-java runtime org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-starter-thymeleaf   org.springframework.boot   spring-boot-devtools   true     com.github.pagehelper pagehelper 4.1.6     org.springframework.boot spring-boot-maven-plugin src/main/java    **/*.xml  

2、配置springboot,我这里使用的是properties方式

#配置Mybatis别名和扫描包mybatis.type-aliases-package=com.demo.beanmybatis.mapper-locations=classpath:mapper/*.xml #数据库相关spring.datasource.url=jdbc:mysql://localhost:3306/ssm?useSSL=falsespring.datasource.username=rootspring.datasource.password=123456spring.datasource.driver-class-name=com.mysql.jdbc.Driver #配置日志logging.level.root=infologging.level.com.demo.mapper=debug #配置视图前缀和后缀spring.mvc.view.prefix=/spring.mvc.view.suffix=.html #邮件发送配置spring.mail.default-encoding=UTF-8spring.mail.host=smtp.qq.comspring.mail.username=你的邮箱spring.mail.password=邮箱授权码spring.mail.properties.mail.smtp.auth=truespring.mail.properties.mail.smtp.starttls.enable=truespring.mail.properties.mail.smtp.starttls.required=true #thymeleaf配置spring.thymeleaf.mode=HTML5spring.thymeleaf.encoding=UTF-8spring.thymeleaf.servlet.content-type=text/htmlspring.thymeleaf.cache=false

邮箱授权码可以按以下方法获取打开QQ邮箱网页→设置→账户→POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务→开启POP3/SMTP服务,然后就能看到授权码了

3、编写mailService

${spring.mail.username}是在properties中配置的属性,这里有一个方法,第一个是发送普通邮件,第二个是发送带有附件的邮件

@Service("mailService")public class MailService { @Value("${spring.mail.username}") private String from; @Autowired private JavaMailSender mailSender;  Logger logger = LoggerFactory.getLogger(this.getClass());  public void sendSimpleMail(String to,String title,String content){  SimpleMailMessage message = new SimpleMailMessage();  message.setFrom(from);  message.setTo(to);  message.setSubject(title);  message.setText(content);  mailSender.send(message);  logger.info("邮件发送成功"); }  public void sendAttachmentsMail(String to, String title, String cotent, List fileList){  MimeMessage message = mailSender.createMimeMessage();  try {   MimeMessageHelper helper = new MimeMessageHelper(message,true);   helper.setFrom(from);   helper.setTo(to);   helper.setSubject(title);   helper.setText(cotent);   String fileName = null;   for (File file:fileList) {    fileName = MimeUtility.encodeText(file.getName(), "GB2312", "B");    helper.addAttachment(fileName, file);   }  } catch (Exception e) {   e.printStackTrace();  }  mailSender.send(message);  logger.info("邮件发送成功"); }}

4、编写controller

@Controllerpublic class MailController { @Autowired private MailService mailService;  @RequestMapping("getCheckCode") @ResponseBody public String getCheckCode(String email){  String checkCode = String.valueOf(new Random().nextInt(899999) + 100000);  String message = "您的注册验证码为:"+checkCode;  try {   mailService.sendSimpleMail(email, "注册验证码", message);  }catch (Exception e){   return "";  }  return checkCode; }}

5、编写页面

注册

 

 

请输入注册信息

 
   

       

         

   

   

       

         

   

   

       

               

   

   

   

         

   

 
 

关于springboot中怎么实现一个邮箱验证码功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


网站栏目:springboot中怎么实现一个邮箱验证码功能
分享链接:http://pwwzsj.com/article/jeesjs.html