SpringBoot邮件任务

1、引入starter

 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-mail</artifactId>
 </dependency>

2、发送流程:

在这里插入图片描述

3、配置application.properties

如果用的是application.yml照着配就行,原理一样的

spring.mail.username=1144722582@qq.com
spring.mail.password=*******
spring.mail.host=smtp.qq.com

上面的第二个是授权码(我打码了),你自己去qq邮箱上面开启相应服务即可
在这里插入图片描述
最后生成授权码:
在这里插入图片描述

4、测试简单邮件发送

package com.atguigu.springboot;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.internet.MimeMessage;
import java.io.File;

@SpringBootTest
class Springboot04TaskApplicationTests {
    @Autowired
    JavaMailSenderImpl mailSender;

    @Test
    void contextLoads() {
        SimpleMailMessage message = new SimpleMailMessage();
        //右键设置
        message.setSubject("通知-今晚开会");
        message.setText("今晚7:30开会");

        message.setTo("xiongtete0519@163.com");
        message.setFrom("1144722582@qq.com");

        mailSender.send(message);
    }
 
}

运行之后去网易邮箱查看:
在这里插入图片描述

5、测试带附件的邮件发送

package com.atguigu.springboot;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.mail.MailSender;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

import javax.mail.internet.MimeMessage;
import java.io.File;

@SpringBootTest
class Springboot04TaskApplicationTests {
    @Autowired
    JavaMailSenderImpl mailSender;

    @Test
    public void test02() throws Exception{
        //1、创建一个复杂的消息邮件
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
        //右键设置
        helper.setSubject("通知-今晚开会");
        helper.setText("<b style='color:red'>今天7:30开会</b>",true);

        helper.setTo("xiongtete0519@163.com");
        helper.setFrom("1144722582@qq.com");

        //上传文件
        helper.addAttachment("03.jpg",new File("C:\\Users\\Peroy\\Pictures\\Saved Pictures\\03.jpg"));
        helper.addAttachment("preview.jpg",new File("C:\\Users\\Peroy\\Pictures\\Saved Pictures\\preview.jpg"));

        mailSender.send(mimeMessage);
    }

}

最后的两个文件你用你自己电脑里面的就行,我是传了两张照片。
运行之后去网易邮箱查看:
在这里插入图片描述

可以看到附件和html格式的文件内容都生效了。

posted @   别团等shy哥发育  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-06-15 LeetCode3--无重复前缀的最长子串(java实现)
点击右上角即可分享
微信分享提示