任务(邮箱、短信、异步、定时)
一、邮箱发送:qq邮箱
1、开启qq邮箱的服务和获取授权码
==》
==》 
2、pom依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
3、配置
spring: mail: host: smtp.qq.com port: 465 username: xx8@qq.com password: 发短信后的授权码 default-encoding: UTF-8 properties: mail: debug: true smtp: auth: true starttls: enable: true required: true socketFactory: class: javax.net.ssl.SSLSocketFactory mail: fromMail: addr: xx8@qq.com
4、使用方法
@Value("${mail.fromMail.addr}") private String from; @Autowired JavaMailSender mailSender; @Autowired private JavaMailSenderImpl mailSenderImpl; /** * 发送邮件 * @param to 发给谁 * @param subject 标题 * @param text 内容 * */ @Override public void sendEmail(String to, String subject, String text) throws MessagingException { //简单邮件 SimpleMailMessage simpleMailMessage = new SimpleMailMessage(); simpleMailMessage.setFrom(from); simpleMailMessage.setTo(to); simpleMailMessage.setSubject(subject); simpleMailMessage.setText(text); mailSenderImpl.send(simpleMailMessage); //复杂邮件 MimeMessage mimeMessage = mailSenderImpl.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);//true带上附件 messageHelper.setFrom(from); messageHelper.setTo(to); messageHelper.setSubject(subject); messageHelper.setText("<h1>新年快乐</h1>", true);//true带上html messageHelper.addInline("logo.jpg", new File("logo2.jpg"));//图片的发送不对,未明 messageHelper.addAttachment("知识整理.doc", new File("知识总结.docx")); mailSenderImpl.send(mimeMessage); }
二、短信发送:云片网
1、登录创建获取apikey等
2、依赖
<dependency>
<groupId>com.yunpian.sdk</groupId>
<artifactId>yunpian-java-sdk</artifactId>
<version>1.2.7</version>
</dependency>
3、使用:https://www.yunpian.com/official/document/sms/zh_CN/introduction_demos_java
4、验证码匹配
a、有效时间
b、防刷
c、限制次数
方法有:redis缓存、新建记录查询表、同一个用户发送短信接口时间限制aop切面
三、异步方法
1、启动类添加 @EnableAsync //开启异步功能的注解
2、service 接口添加 @Async
3、使用场景,某些大量导入、批量插入,等待时间比较长的情况
四、定时任务-SpringBoot
1、启动类Application添加 @EnableScheduling //开启定时功能的注解
2、创建定时任务类添加@Compoment注解将类纳入spring bean管理,创建方法添加@Scheduled注解配置cron定时属性【@Scheduled(cron = "0 0 * * * ?")】
3、Cron 表达式:https://qqe2.com/cron
4、使用场景:log日志定时清除,附件定时清理
5、定时另一种写法记录【Quartz】
浙公网安备 33010602011771号