SpringBoot 札记(使用 JavaMailSender 发送邮件)

要实现邮件发送功能 我们使用JavaMailSender类

一、导入依赖(启动器)

		 
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-mailartifactId>
        dependency>

此时 Spring 会帮我们引入 javax.mail ( 邮件发送的类 )

二、开启邮箱的 POP3/SMTP服务 获取 spring.mail.password

SpringBoot 札记(使用 JavaMailSender 发送邮件)_第1张图片

开启后会给你一串明文密码

此密码将用于下面第三步配置 spring.mail.password

三、配置发送的信息 在application.properties配置文件中编写

SpringBoot 札记(使用 JavaMailSender 发送邮件)_第2张图片
SpringBoot 札记(使用 JavaMailSender 发送邮件)_第3张图片
SpringBoot 札记(使用 JavaMailSender 发送邮件)_第4张图片

可以看到 可以发送简单信息 与 复杂信息

我们先实现 发送简单信息

在application.properties配置文件中编写如下配置

spring.mail.username= 123456789@qq.com
spring.mail.password=agpaoifmasasd
spring.mail.host=smtp.qq.com
# 开启加密验证
spring.mail.properties.mail.smtp.ssl.enable=true

SpringBoot 札记(使用 JavaMailSender 发送邮件)_第5张图片

四、测试 注入JavaMailSender类实现发送邮件

@SpringBootTest
class Springboot09AsynchronousApplicationTests {
    @Autowired
    JavaMailSenderImpl javaMailSender;

    @Test
    void contextLoads() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setSubject("你好,CSNZ");
        message.setText("你正在学习springboot");
        message.setFrom("[email protected]");

        javaMailSender.send(message);
    }

}

SpringBoot 札记(使用 JavaMailSender 发送邮件)_第6张图片

实现复杂邮件的发送:富文本、携带附件

利用 MimeMessageHelper 对 MimeMessage 进行组装

最后 发送 MimeMessage对象

@Test
    void MineMessage()throws MessagingException {
        //一个复杂的邮件
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        //接下来开始组装 需要用到 MimeMessageHelper
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        // 正文内容
        helper.setSubject("你好,CSNZ");
        helper.setText("

你正在实现复杂的邮件发送

"
,true); // 携带附件 helper.addAttachment("girl.jpg",new File("D:\\girl.jpg")); helper.setTo("[email protected]"); helper.setFrom("[email protected]"); javaMailSender.send(mimeMessage); }

SpringBoot 札记(使用 JavaMailSender 发送邮件)_第7张图片

你可能感兴趣的:(SpringBoot,spring,boot,spring,java)