开发者学堂课程【SpringBoot 快速掌握 - 高级应用:邮件任务】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/613/detail/9311
邮件任务
内容介绍
一.邮件任务
二.邮件发送
一.邮件任务
1.邮件发送需要引入 spring-boot-starter-mail
2.Spring Boot 自动配置 MailSenderAutoConfiguration
3.定义 MailProperties 内容,配置在 application.yml 中
4.自动装配 JavaMailSender
5.测试邮件发送
二.邮件发送
测试一下
Pom.xml 文件中,复制 <dependencies>
<dependency>
<grouprd>org-springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</ dependency>
场景启动器 start 中查询
复制 Spring-boot-starter-mail
引入
<dependency>
<grouprd>org-springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</ dependency>
邮件的自动配置,找到 mail 下 mailsenderautoconfiguration
打开后中有一个组件 javamailsendermail 即用于发送邮件。
邮件属性都可以在 mailproperties 中配置,属性有:
host,port,username,password 等等
邮件发送流程
配置属性
spring.mail.username=534096094@qq.com
spring.mail.password=gtstkoszjelabijb
spring.mai1.host=smtp.qq.com
测试
import org.junit.Test;
import org.junit.runner.Runwith;
import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaNailsenderImpl;import org.springframework.test.context.junit4.SpringRunner;
@Runwith(SpringRunner.class)
@SpringBootTest
public class Springboot04TaskApplicationTests i
@Autowired
JavaMailsenderImpl mailSender;
Test
public void contextLoads( ) {
simpleMailMessage message = new SimpleMailMessage();/邮件设置
message. setsubject(“通知-今晚开会");
message.setText("今晚7:30开会");
message.setTo("175120806120163.com" ) ;
message.setFrom("534096094@qq.com“);
mailSender.send(message);
开始测试,报错,所以需要添加一些额外配置:
spring.mai1.properties.mail.smtp.ssl.enabLe=true
邮件发送成功。
2.复杂邮件的发送
@Test
public void teste2() throwsException{
//1、创建一个复杂的消息邮件
imeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelperhelper=new MimeMessageHelper(mimeMessage,multipart: true);
//邮件设置
helper.setSubject(“通知-今晚开会");
helper.setText("<b style='color:red' >今天7:30开会</b>");
helper.setTo("17512080612@163.com" ) ;
helper.setFrom( "5340960940qq.com");
//上传文件
Helper.addattchment(attachmentrilename:"1.jpg",new File(pathname:"c:\\users\\lfy\\Pictures\[|Saved Pictures\\1.jpg"))"
Helper.addattchment( attachmentFilename: "2.jpg" ,new File( pathname: "c: \|Users|lfyl\Pictures/|Saved Pictures\\2.jpg"))
mailSender.send(mimeMessage) ;