如何在Spring Boot项目中使用QQ邮箱发送验证码
-
在QQ邮箱的【设置】—> 【账户】里开启SMTP服务,会得到一串授权码记得妥善保存。
-
创建配置类
@Configuration public class MailConfig { /** * 获取邮件发送实例 */ @Bean public MailSender mailSender(){ JavaMailSenderImpl mailSender = new JavaMailSenderImpl(); mailSender.setHost("smtp.qq.com"); //指定发送邮件的服务器主机名 mailSender.setPort(587); //默认端口,标准的SMTP端口 mailSender.setUsername("chenyongfa2019@qq.com"); //用户名 mailSender.setPassword("anryujzzjizibhbj"); //密码 就是上面得到的授权码 return mailSender; } }
-
控制层中引入并在处理请求的方法中使用
@Autowired private JavaMailSender mailSender; @ResponseBody @PostMapping("/sendEmail") public Map<String,Object> sendEmail(String email, HttpSession session){ ... String mailCode = StringUtil.genSixRandom(); SimpleMailMessage message = new SimpleMailMessage(); //邮件消息构造器 message.setFrom("chenyongfa2019@qq.com"); //发件人 message.setTo(email); //收件人 message.setSubject("找回密码_java资源分享网"); //主题 message.setText("您本次的验证码是:"+mailCode); //邮件正文内容 mailSender.send(message); System.out.println(mailCode); ... }