SpringBoot中的创建任务-----邮件任务
导入依赖的启动器
org.springframework.boot
spring-boot-starter-mail
学习邮件发送的思路
-
通过mail知道了这个配置类一定会是mailXXXAutoConfiguration
-
然后再找到XXXMail.properties就能知道配置什么东西,(因为邮件需要密码,用户名),这里不可能默认这些东西,只能通过配置
-
找到一个类,知道了写东西,比如收件人,发件人,邮件内容,邮件标题等都是在这个类中封装写
上面思路的实现
-
在Application.properties中配置一些东西
spring.mail.username=2272698560@qq.com spring.mail.password=lmobpegufslbeagb spring.mail.host=smtp.qq.com # QQ需要开启加密授权认证 spring.mail.properties.mail.smtl.ssl.enable=true
-
可以自定义一个邮件发送的类,也可以使用springboot里面的邮件发送的类
-简单的邮件@Autowired JavaMailSenderImpl javaMailSender; @Test void contextLoads() { //一个简单的邮件 SimpleMailMessage mailMessage = new SimpleMailMessage(); mailMessage.setSubject("小皮球你好呀~"); mailMessage.setText("好喜欢你~"); mailMessage.setTo("1843167781@qq.com"); mailMessage.setFrom("2272698560@qq.com"); javaMailSender.send(mailMessage); }
-复杂的邮件,能设置的东西可以点进类去看,这个类是MimeMessageHelper
void contextLoads1() throws MessagingException { //一个复杂的邮件 MimeMessage mimeMessage = javaMailSender.createMimeMessage(); //组装 MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);//true是支持多文件 helper.setSubject("小皮球你好啊"); helper.setText("
我好好好喜欢你
",true);//为了不使前面的标签变成字符串,设置true //附件 helper.addAttachment("1.jpg",new File("/")); javaMailSender.send(mimeMessage); }