SpringBoot-拓展
邮件
依赖
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
配置
spring.mail.username=邮箱
spring.mail.password=授权码
spring.mail.host=smtp.qq.com
# 开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true
使用
@Autowired
private JavaMailSenderImpl mailSender;
// 简单邮件
@Test
void sendMail() {SimpleMailMessage simpleMailMessage = new SimpleMailMessage();simpleMailMessage.setSubject("主题");simpleMailMessage.setText("邮件内容");simpleMailMessage.setFrom("xxx@qq.com");simpleMailMessage.setTo("xxx@163.com");// 发送邮件mailSender.send(simpleMailMessage);
}
// 复杂邮件
@Test
void mimeMail() throws MessagingException {MimeMessage mimeMessage = mailSender.createMimeMessage();// 组装MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);helper.setSubject("主题");// true:开启html支持helper.setText("<font style='color:red'>邮件内容</font>",true);// 附件helper.addAttachment("1.jpg", new File(""));helper.setFrom("xxx@qq.com");helper.setTo("xxx@163.com");// 发送邮件mailSender.send(mimeMessage);
}
异步
启动类添加@EnableAsync
方法上添加@Async
定时任务
启动类添加@EnableScheduling
// 注入容器
@Service
public class ScheduledService {// (秒 分 时 日 月 周几 年)// ("0/2 1-50/5 11,12 L * 5L 1990")// '?、*'是通配符,'?'只能出现一次,'/'表示时间间隔,','表示多个时间,'1L'表示最后一个,'-'表示范围@Scheduled(cron = "0/2 * * * * ?")public void excu(){System.out.println("定时任务执行");}
}