springboot-邮件发送

1 新建一个springboot项目

参考地址:springboot-hello world

创建过程中添加web模块

2 发送简单邮件

2.1 引入邮件发送的依赖

pom.xml

<!--邮件发送的依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2.2 获取发送邮件的邮箱授权码

开启邮箱的POP3/SMTP服务,并点击 生成授权码

完成验证后,保存授权码

2.3 在配置文件中编写发送邮件的邮箱信息

src/main/resources/application.properties

#邮箱发送地址
spring.mail.username=1148397597@qq.com
#授权码
spring.mail.password=fdsfdsfdsfdsfdfs
#发送的服务器
spring.mail.host=smtp.qq.com
#开启加密验证
spring.mail.properties.mail.smtl.ssl.enable=true

2.4 在测试类中编写邮件发送的信息

src/test/java/com/lv/Springboot09TestApplicationTests.java

package com.lv;

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

@SpringBootTest
class Springboot09TestApplicationTests {

    @Autowired
    JavaMailSenderImpl mailSender;

    @Test
    void contextLoads() {
        //一个简单的邮件
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        mailMessage.setSubject("邮件发送测试");//邮件主题
        mailMessage.setText("这是用来测试邮件发送而发送的邮件");//邮件内容
        mailMessage.setTo("1148397597@qq.com");//收件地址
        mailMessage.setFrom("1148397597@qq.com");
        mailSender.send(mailMessage);
    }
}

2.5 运行测试类,查看邮箱

3 发送复杂邮件

3.1 在测试类中编写一个发送复杂邮件的方法

src/test/java/com/lv/Springboot09TestApplicationTests.java

@Test
void contextLoads2() throws MessagingException {
    //一个复杂的邮件
    MimeMessage mimeMessage = mailSender.createMimeMessage();
    //组装
    MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true,"utf-8");
    //正文
    helper.setSubject("测试发送一个复杂邮件");
    helper.setText("<p style='color:red'>这是用来测试复杂邮件发送而发送的邮件</p>",true);
    //附件
    helper.addAttachment("1.jpg",new File("C:\\Users\\lvjianhua\\Pictures\\1.jpg"));
    helper.addAttachment("2.jpg",new File("C:\\Users\\lvjianhua\\Pictures\\1.jpg"));
    //收件地址
    helper.setTo("1148397597@qq.com");
    helper.setFrom("1148397597@qq.com");
    //发送
    mailSender.send(mimeMessage);
}

3.2 运行测试方法,接收邮件

成功接收到邮件,并且字体格式显示成功,附件也可以下载打开.说明复杂邮件发送成功

posted @ 2022-03-10 15:32  从0开始丿  阅读(97)  评论(0编辑  收藏  举报