springboot实现邮箱验证码功能
本文实例为大家分享了springboot实现邮箱验证码功能的具体代码,供大家参考,具体内容如下
成都创新互联公司是专业的曲沃网站建设公司,曲沃接单;提供网站设计制作、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行曲沃网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
我这边使用的QQ邮箱
1、首先创建maven项目,配置pom文件
<?xml version="1.0" encoding="UTF-8"?>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.bean mybatis.mapper-locations=classpath:mapper/*.xml #数据库相关 spring.datasource.url=jdbc:mysql://localhost:3306/ssm?useSSL=false spring.datasource.username=root spring.datasource.password=123456 spring.datasource.driver-class-name=com.mysql.jdbc.Driver #配置日志 logging.level.root=info logging.level.com.demo.mapper=debug #配置视图前缀和后缀 spring.mvc.view.prefix=/ spring.mvc.view.suffix=.html #邮件发送配置 spring.mail.default-encoding=UTF-8 spring.mail.host=smtp.qq.com spring.mail.username=你的邮箱 spring.mail.password=邮箱授权码 spring.mail.properties.mail.smtp.auth=true spring.mail.properties.mail.smtp.starttls.enable=true spring.mail.properties.mail.smtp.starttls.required=true #thymeleaf配置 spring.thymeleaf.mode=HTML5 spring.thymeleaf.encoding=UTF-8 spring.thymeleaf.servlet.content-type=text/html spring.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, ListfileList){ 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
@Controller public 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、编写页面
注册 请输入注册信息
6、测试
邮件发送
发送成功
收到邮件
60s禁止重发
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。
本文名称:springboot实现邮箱验证码功能
链接URL:http://azwzsj.com/article/jggjho.html