Spring Boot实现发送邮件

时间:2022-11-20 19:09:07

发送邮件

在web开发中,发送邮件是一个很常用的功能,Spring Boot也集成了发送邮件的功能

基本使用

使用Spring Boot的发送邮件功能,需要导入邮件的starter依赖

  1. <dependency>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-mail</artifactId>
  4. </dependency>

配置邮件发送服务器的配置,如果是qq邮箱,password属性为邮箱的授权码

  1. spring:
  2. mail:
  3. host: smtp.qq.com
  4. username: 425017255@qq.com
  5. password: xxxxxxxx
  6. properties:
  7. mail.smtp.ssl.enable: true

创建一个简单邮件对象SimpleMailMessage,设置邮件的主题,内容,发件人和收件人,然后自动注入JavaMailSenderImpl对象,使用这个对象的send方法发送邮件

  1. @SpringBootTest
  2. class DemoApplicationTests {
  3.  
  4. @Autowired
  5. JavaMailSenderImpl mailSender;
  6.  
  7. @Test
  8. void contextLoads() {
  9. SimpleMailMessage message = new SimpleMailMessage();
  10. message.setSubject("测试邮件");
  11. message.setText("这是一封测试邮件");
  12. message.setTo("blackball1998@outlook.com");
  13. message.setFrom("425017255@qq.com");
  14. mailSender.send(message);
  15. }
  16.  
  17. }

这样就可以发送简单邮件了

Spring Boot实现发送邮件

发送复杂邮件

发送复杂邮件,可以使用发送类的createMimeMessage方法创建一个复杂邮件对象MimeMessage,这个方法还有一个重载方法,可以读取IO流创建邮件对象

创建一个用于设置邮件的对象MimeMessageHelper,这个对象可以设置多种邮件的常用属性,这里以设置附件为例

  1. @SpringBootTest
  2. class DemoApplicationTests {
  3.  
  4. @Autowired
  5. JavaMailSenderImpl mailSender;
  6.  
  7. @Test
  8. void contextLoads() throws MessagingException {
  9. MimeMessage message = mailSender.createMimeMessage();
  10. MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8");
  11. messageHelper.setSubject("测试复杂邮件");
  12. // 设置带样式的正文,使用html的方式设置样式
  13. messageHelper.setText("<h1>这是一封测试邮件</h1><p style='color:red'>请查收附件</p>",true);
  14. // 读取本地的一个文件,设置邮件的附件
  15. messageHelper.addAttachment("附件1.jpg",new File("1.png"));
  16. messageHelper.addAttachment("附件2.jpg",new File("2.png"));
  17. messageHelper.setTo("blackball1998@outlook.com");
  18. messageHelper.setFrom("425017255@qq.com");
  19. mailSender.send(message);
  20. }
  21.  
  22. }

设置好邮件的属性,然后用发送类发送邮件,就可以收到复杂邮件

Spring Boot实现发送邮件

邮件中的附件也可以打开

Spring Boot实现发送邮件

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

原文链接:https://blog.csdn.net/blackball1998/article/details/118163454