Spring Boot发送邮件

目录

一.前言

二.环境约束

三.添加依赖

四.配置application.yml文件

1 配置application.yml文件代码

2配置客户端授权码获取方法(qq邮箱)

1.先打开要发送邮件的qq邮箱,然后在邮箱首页点击 设置

2.点击上面导航栏的 账号

3.点击账号后下拉,看到SMTP服务后点击 继续获取授权码 或者 开启SMTP服务

4.点击获取或开启服务后,就会看到短信验证提示,成功发送短信后即可获取授权码

五.在test里编写测试类

六.运行测试类

七.发送带附件的邮件

八.发送复杂邮件


一.前言


在实际项目中,经常需要用到邮件通知功能。比如,用户通过邮件注册,通过邮件找回密码等;又比如通过邮件发送系统情况,通过邮件发送报表信息等等,实际应用场景很多。这篇文章,就教大家通过springboot快速的实现一个发送邮件的功能

二.环境约束


本文章教程使用到的工具及版本如下:

IntelliJ IDEA 2022.3.3;
Apache Maven 3.9.1;
jdk:版本为1.8;
SpringBoot:2.5.3

三.添加依赖


创建springboot项目后在pom.xml文件里添加如下依赖

<!--添加邮件依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

四.配置application.yml文件


1 配置application.yml文件代码

#配置cron表达式
time:
  cron: 0/1 * * * * *
  interval: 5

#配置邮箱基本信息
spring:
  mail:
    host: smtp.qq.com    #发送邮件服务器
    username: 11111111@qq.com    #发送邮件的邮箱账户
    password:   fupdebiyrwmy  #客户端授权码,需要使用自己QQ邮箱的授权码,获取授权码教程如下
    default-encoding: utf-8   #默认邮件编码

    properties:
      mail:
        smtp:
          port: 465
          #邮件服务超时时间配置
          connectiontimeout: 5000
          timeout: 3000
          writetimeout: 5000

          debug: true
          #ssl开启配置
          starttls:
            enable: true
            required: true
          ssl:
            enable: true

2配置客户端授权码获取方法(qq邮箱

1.先打开要发送邮件的qq邮箱,然后在邮箱首页点击 设置

2.点击上面导航栏的 账号

3.点击账号后下拉,看到SMTP服务后点击 继续获取授权码 或者 开启SMTP服务

4.点击获取或开启服务后,就会看到短信验证提示,成功发送短信后即可获取授权码

5.获得授权码后点击授权码右边的复制,然后将application.yml文件的授权码改成自己的

五.在test里编写测试类


在test里编写测试类,发送一个简单邮件

    @Autowired
    JavaMailSenderImpl mailSender;


    /**
     * 发送文本邮件
     */

    @Test
    void contextLoads() {
        //定制发送的简单文本邮件信息
        SimpleMailMessage message = new SimpleMailMessage();
        //发送邮件的邮箱
        message.setFrom("123456789@qq.com");
        //接收邮件的邮箱
        message.setTo("987654321@qq.com");
        //邮件主题
        message.setSubject("简单文本邮件");
        //邮件内容
        message.setText("测试邮件内容");
        mailSender.send(message);

 将参数修改成自己的就可以了

六.运行测试类


运行测试类就可以发送邮件啦,打开qq邮箱已发送就可以看到邮件投递成功

七.发送带附件的邮件


    @Autowired
    JavaMailSenderImpl mailSender;


    /**
     * 发送文本邮件
     */
    
    @Test
    void sendAttachment() throws MessagingException {
        MimeMessage mimeMessage = mailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setFrom("123456789@qq.com");
        helper.setTo("987654321@qq.com");
        helper.setSubject("主题:Attachment邮件");
        helper.setText("<html><body><h1>您有附件未收取,请查看!</h1></body></html>", true);
        helper.addAttachment("head1", new File("D:\\班级\\学风建设方案.docx"));

        mailSender.send(mimeMessage);
    }

将文件路径改成自己要发送的附件路径,再修改剩下的一些基础参数就可以发送带附件的邮件了

八.发送复杂邮件


有需要的同学可以点击链接自行学习

https://blog.csdn.net/ounqgf/article/details/125933464?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-125933464-blog-108263211.235%5Ev38%5Epc_relevant_anti_t3_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-1-125933464-blog-108263211.235%5Ev38%5Epc_relevant_anti_t3_base&utm_relevant_index=2icon-default.png?t=N7T8https://blog.csdn.net/ounqgf/article/details/125933464?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-125933464-blog-108263211.235%5Ev38%5Epc_relevant_anti_t3_base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-1-125933464-blog-108263211.235%5Ev38%5Epc_relevant_anti_t3_base&utm_relevant_index=2

到此,使用spring Boot实现文件发送就到此学习结束了

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值