SpringBoot整合mail,发送邮件

本文介绍如何在Spring Boot应用中配置和使用JavaMailSender接口发送简单邮件及复杂邮件,包括设置SMTP服务器、使用授权码、发送带HTML格式和附件的邮件。

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

导入依赖

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

获取邮箱授权码

设置服务邮箱,以QQ邮箱为例

  • 进入QQ邮箱,选择设置
    在这里插入图片描述
  • 下拉到下图所示位置,点击生成授权码
    获取QQ邮箱授权码

发送邮件

  1. application.yml
    spring:
     mail:
       username: # 用户名,邮箱账号
       password:  # 授权码
       # 主机地址
       host: smtp.qq.com
       # 开启SSL安全连接
       properties:
         mail:
           smtp:
             ssl:
               enable: true
    
  2. JavaMailSender
    JavaMailSender用于发送邮件
  3. SimpleMailMessage
    SimpleMailMessage 可以用来发送一些简单邮件(没有附件),
    @Autowired
    private JavaMailSender mailSender;
    public void sendMessage() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setTo("xxxxxx@163.com"); // 接收邮箱账号
        message.setFrom("xxxxxx@qq.com"); // yml配置文件中邮箱账号
        message.setText("邮箱测试...");
        message.setSubject("mail test");
        mailSender.send(message);
    }
    
  4. MimeMessage
    MimeMessage用于发送复杂消息
    public void sendMultMessage() {
    	MimeMessage mimeMessage = mailSender.createMimeMessage();
    	// 设置发送复杂邮件消息
    	MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
    	mimeMessageHelper.setTo("xxxxxx@163.com");
    	mimeMessageHelper.setFrom("xxxxxx@qq.com");
    	mimeMessageHelper.setSubject("发送复杂邮件测试");
    	mimeMessageHelper.setText("<h1>邮件测试</h1><p>通过设置第二个参数为true,可发送含有html标签的文本</p>", true);
    	mimeMessageHelper.addAttachment("图片.jpg", FileUtil.file("static/emotion.jpg"));
    	mailSender.send(mimeMessage);
    }
    

补充

  1. 以上demo,还使用了hutoollombok依赖
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.10</version>
    </dependency>
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.4.1</version>
    </dependency>
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值