Spring Boot实现邮件发送功能

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

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、测试

7、qq邮箱授权码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。