Spring Boot发送邮件

本文介绍了如何在Spring Boot应用中实现邮件发送功能,包括基本的邮件发送和发送包含附件的复杂邮件。首先,需要引入邮件starter依赖并配置邮件服务器信息,如QQ邮箱的授权码。接着,创建邮件对象并使用自动注入的邮件发送服务发送邮件。对于复杂邮件,可以通过设置附件和其他属性来构造邮件,并使用相同的服务进行发送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

发送邮件

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

基本使用

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

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

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

spring:
  mail:
    host: smtp.qq.com
    username: 425017255@qq.com
    password: xxxxxxxx
    properties:
      mail.smtp.ssl.enable: true

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

@SpringBootTest
class DemoApplicationTests {

    @Autowired
    JavaMailSenderImpl mailSender;

    @Test
    void contextLoads() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setSubject("测试邮件");
        message.setText("这是一封测试邮件");
        message.setTo("blackball1998@outlook.com");
        message.setFrom("425017255@qq.com");
        mailSender.send(message);
    }

}

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

在这里插入图片描述

发送复杂邮件

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

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

@SpringBootTest
class DemoApplicationTests {

    @Autowired
    JavaMailSenderImpl mailSender;

    @Test
    void contextLoads() throws MessagingException {
        MimeMessage message = mailSender.createMimeMessage();
        MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8");
        messageHelper.setSubject("测试复杂邮件");
      	// 设置带样式的正文,使用html的方式设置样式
        messageHelper.setText("<h1>这是一封测试邮件</h1><p style='color:red'>请查收附件</p>",true);
      	// 读取本地的一个文件,设置邮件的附件
        messageHelper.addAttachment("附件1.jpg",new File("1.png"));
        messageHelper.addAttachment("附件2.jpg",new File("2.png"));
        messageHelper.setTo("blackball1998@outlook.com");
        messageHelper.setFrom("425017255@qq.com");
        mailSender.send(message);
    }

}

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

在这里插入图片描述

邮件中的附件也可以打开

在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值