SpringBoot整合mail,发送邮件

导入依赖

<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>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot提供了`JavaMailSender`来发送邮件,下面是整合Mail发送邮件的步骤: 1. 添加依赖:在`pom.xml`文件中添加`spring-boot-starter-mail`依赖。 2. 配置邮件信息:在`application.yml`文件中配置邮件信息,包括邮件服务器的地址、端口号、发送者的邮箱地址、用户名、密码等。 3. 发送邮件:在需要发送邮件的地方注入`JavaMailSender`,调用其`send()`方法发送邮件。 具体代码如下: 1. 添加依赖 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> ``` 2. 配置邮件信息 ```yml spring: mail: host: smtp.qq.com # 邮件服务器的地址 port: 587 # 邮件服务器的端口号 username: your-email@qq.com # 发送者的邮箱地址 password: your-email-password # 邮箱密码或者授权码 properties: mail.smtp.auth: true mail.smtp.starttls.enable: true mail.smtp.starttls.required: true mail.smtp.ssl.trust: smtp.qq.com # 邮件服务器的地址 ``` 3. 发送邮件 ```java @Service public class MailService { @Autowired private JavaMailSender mailSender; public void sendMail(String to, String subject, String content) { SimpleMailMessage message = new SimpleMailMessage(); message.setTo(to); message.setSubject(subject); message.setText(content); message.setFrom("your-email@qq.com"); // 发送者的邮箱地址 mailSender.send(message); } } ``` 这里使用了`SimpleMailMessage`来设置邮件信息,可以设置收件人、主题、内容等。通过`JavaMailSender`的`send()`方法发送邮件。 需要注意的是,如果邮件服务器需要使用SSL/TLS等加密方式,需要在`application.yml`中设置相应的属性。另外,如果使用的是第三方邮件服务商,可能需要开启SMTP服务和获取授权码等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值