要实现邮件发送功能 我们使用JavaMailSender类
一、导入依赖(启动器)
<!--javax.mail 邮件发送的类-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
此时 Spring 会帮我们引入 javax.mail ( 邮件发送的类 )
二、开启邮箱的 POP3/SMTP服务 获取 spring.mail.password
开启后会给你一串明文密码
此密码将用于下面第三步配置 spring.mail.password
三、配置发送的信息 在application.properties配置文件中编写
可以看到 可以发送简单信息 与 复杂信息
我们先实现 发送简单信息
在application.properties配置文件中编写如下配置
spring.mail.username= 123456789@qq.com
spring.mail.password=agpaoifmasasd
spring.mail.host=smtp.qq.com
# 开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true
四、测试 注入JavaMailSender类实现发送邮件
@SpringBootTest
class Springboot09AsynchronousApplicationTests {
@Autowired
JavaMailSenderImpl javaMailSender;
@Test
void contextLoads() {
SimpleMailMessage message = new SimpleMailMessage();
message.setSubject("你好,CSNZ");
message.setText("你正在学习springboot");
message.setFrom("1245107453@qq.com");
javaMailSender.send(message);
}
}
实现复杂邮件的发送:富文本、携带附件
利用 MimeMessageHelper 对 MimeMessage 进行组装
最后 发送 MimeMessage对象
@Test
void MineMessage()throws MessagingException {
//一个复杂的邮件
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
//接下来开始组装 需要用到 MimeMessageHelper
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
// 正文内容
helper.setSubject("你好,CSNZ");
helper.setText("<h1>你正在实现复杂的邮件发送</h1>",true);
// 携带附件
helper.addAttachment("girl.jpg",new File("D:\\girl.jpg"));
helper.setTo("123456789@qq.com");
helper.setFrom("123456789@qq.com");
javaMailSender.send(mimeMessage);
}