Spring任务与邮件
1)、异步任务
可以通过线程的方式 但是springboot为我们提供了注解
@Async
标注到方法上 这个方法会异步处理
@EnableAsync 在主程序类标识
2)、定时任务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xg9LsteA-1585727927310)(C:\Users\李嘉伟\AppData\Roaming\Typora\typora-user-images\image-20200401142816064.png)]
方法上
秒 分 时 日 月 周
@Scheduled(sron=“0 * * * * MON-SAT”) 代表任意分任意时任意日任意月的周一到周日的零秒运行
这个注解要指定时分秒月日周
程序上
@EnableScheduled
3)、邮件任务
spring提供了JavaMailSenderImpl类 用于发邮件
1、导包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-start-mail</artifactId>
</dependency>
2、properties
spring.mail.username=1429948707@qq.com
#这个不是qq密码而是qq邮箱发短信得到的授权码
spring.mail.password=qwlnzhyxolexjjeh
#qq邮箱的客户端
spring.mail.host=smtp.qq.com
3测试
package com.example.demo;
import net.bytebuddy.utility.JavaModule;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
@SpringBootTest
class DemoApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads() {
SimpleMailMessage message = new SimpleMailMessage();
message.setSubject("开会");
message.setText("全体起立");
message.setTo("1727242927@qq.com");
message.setFrom("1429948707@qq.com");
mailSender.send(message);
}
}
4发送复杂邮件
package com.example.demo;
import net.bytebuddy.utility.JavaModule;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
@SpringBootTest
class DemoApplicationTests {
@Autowired
JavaMailSenderImpl mailSender;
@Test
void contextLoads1() throws MessagingException {
//复杂邮件
MimeMessage message = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message,true);//编码true
helper.setSubject("开会2");
//发送带样式的内容
helper.setText("<b style ='color:red'>全体起立</b>",true);//样式生效
helper.setTo("1813596438@qq.com");
helper.setFrom("1429948707@qq.com");
//发送文件
helper.addAttachment("a.jpg",new File("D:\\迅雷下载\\a.jpg"));
mailSender.send(message);
}
}