Spring Boot实现邮件发送功能

时间:2021-12-21 18:12:31

本文实例为大家分享了Spring Boot邮件发送功能的具体代码,供大家参考,具体内容如下

1、引入依赖

?
1
2
3
4
5
<!-- mail依赖 -->
 <dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2、参数配置

在application.properties中配置邮件相关的参数

?
1
2
3
4
5
6
7
8
spring.thymeleaf.cache=false
 
spring.mail.host=smtp.qq.com
spring.mail.username=***@qq.com
spring.mail.password=ymwrdffauajebgde //此处的密码时qq邮箱的授权码
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.stattls.required=true

3、邮件Service代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@Service
public class MailService {
 
  @Value("${spring.mail.username}")
  private String from;
  
  @Autowired
  private JavaMailSender sender;
  
  /*发送邮件的方法*/
  public void sendSimple(String to, String title, String content){
    SimpleMailMessage message = new SimpleMailMessage();
    message.setFrom(from); //发送者
    message.setTo(to); //接受者
    message.setSubject(title); //发送标题
    message.setText(content); //发送内容
    sender.send(message);
    
    System.out.println("邮件发送成功");
    
  }
}

4、编写页面代码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"
   xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3">
<head>
<meta charset="UTF-8" />
<title>Insert title here</title>
</head>
<body>
  <h1 th:inlines="text">邮件发送</h1>
  <form action="sendMail" method="post">
    <p>选择文件: <input type="text" name="title"/></p>
    <p><input type="submit" value="提交"/></p>
  </form>
</body>
</html>

5、邮件请求处理

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@Controller
public class MailController {
 
  @Autowired
  private MailService mailService;
  
  private String to="***@qq.com";
  
  @RequestMapping("mail")
  public String mail(){
    return "/mail";
  }
  
  @RequestMapping("sendMail")
  @ResponseBody
  public String sendMail(@RequestParam("title")String title){
    System.out.println("-----title: " + title);
    mailService.sendSimple(to, title, title);
    return "success";
  }
}

6、测试

Spring Boot实现邮件发送功能

7、qq邮箱授权码

Spring Boot实现邮件发送功能

Spring Boot实现邮件发送功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。