SpringBoot邮件任务

时间:2023-02-13 14:58:27


SpringBoot邮件任务

  • ​​1、引入starter​​
  • ​​2、发送流程:​​
  • ​​3、配置application.properties​​
  • ​​4、测试简单邮件发送​​
  • ​​5、测试带附件的邮件发送​​

1、引入starter

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

2、发送流程:

SpringBoot邮件任务

3、配置application.properties

如果用的是application.yml照着配就行,原理一样的

spring.mail.username=1144722582@qq.com
spring.mail.password=*******
spring.mail.host=smtp.qq.com

上面的第二个是授权码(我打码了),你自己去qq邮箱上面开启相应服务即可

SpringBoot邮件任务


最后生成授权码:

SpringBoot邮件任务

4、测试简单邮件发送

package com.atguigu.springboot;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.internet.MimeMessage;
import java.io.File;

@SpringBootTest
class Springboot04TaskApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;

@Test
void contextLoads() {
SimpleMailMessage message = new SimpleMailMessage();
//右键设置
message.setSubject("通知-今晚开会");
message.setText("今晚7:30开会");

message.setTo("xiongtete0519@163.com");
message.setFrom("1144722582@qq.com");

mailSender.send(message);
}

}

运行之后去网易邮箱查看:

SpringBoot邮件任务

5、测试带附件的邮件发送

package com.atguigu.springboot;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.internet.MimeMessage;
import java.io.File;

@SpringBootTest
class Springboot04TaskApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;

@Test
public void test02() throws Exception{
//1、创建一个复杂的消息邮件
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
//右键设置
helper.setSubject("通知-今晚开会");
helper.setText("<b style='color:red'>今天7:30开会</b>",true);

helper.setTo("xiongtete0519@163.com");
helper.setFrom("1144722582@qq.com");

//上传文件
helper.addAttachment("03.jpg",new File("C:\\Users\\Peroy\\Pictures\\Saved Pictures\\03.jpg"));
helper.addAttachment("preview.jpg",new File("C:\\Users\\Peroy\\Pictures\\Saved Pictures\\preview.jpg"));

mailSender.send(mimeMessage);
}

}

最后的两个文件你用你自己电脑里面的就行,我是传了两张照片。

运行之后去网易邮箱查看:

SpringBoot邮件任务

可以看到附件和html格式的文件内容都生效了。