Spring Boot入门——邮件发送

时间:2022-09-24 11:17:57

1、引入依赖

    <!-- mail依赖 -->
       <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>

2、参数配置

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

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代码

@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、编写页面代码

<!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、邮件请求处理

@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入门——邮件发送