Spring Boot——邮件功能

📢📢📢📣📣📣

哈喽!大家好,我是【一心同学】,一位上进心十足的【Java领域博主】!😜😜😜

✨【一心同学】的写作风格:喜欢用【通俗易懂】的文笔去讲解每一个知识点,而不喜欢用【高大上】的官方陈述。

✨【一心同学】博客的领域是【面向后端技术】的学习,未来会持续更新更多的【后端技术】以及【学习心得】。

✨如果有对【后端技术】感兴趣的【小可爱】,欢迎关注一心同学】💞💞💞

❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️ 


目录

前言

一、准备工作

二、发送普通邮件

三、发送文件

结语


前言

发送邮件可以说是网站的必备拓展功能之一,注册验证,忘记密码或者是给用户发送营销信息,这些都需要我们去实现邮箱功能。

一、准备工作

(1)导入pom依赖

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

(2)获取授权码:在QQ邮箱中的设置->账户->开启pop3和smtp服务

这个时候就会弹出我们的授权码,记录一下。

(3)编写配置文件

application.yml:

spring:
  mail:
    # 配置 SMTP 服务器地址
    host: smtp.qq.com
    # 发送者邮箱
    username: 12*****15@qq.com
    # 配置密码,注意不是真正的密码,而是刚刚申请到的授权码
    password: 授权码信息
    # 端口号465或587
    port: 587
    # 默认的邮件编码为UTF-8
    default-encoding: UTF-8
    # 配置SSL 加密工厂
    properties:
      mail:
        smtp:
          socketFactoryClass: javax.net.ssl.SSLSocketFactory
        #表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误
        debug: true

常见的邮箱基本信息:

邮箱SMTP服务器地址端口号
126邮箱smtp.126.com465或者994
163邮箱smtp.163.com465或者994
QQ邮箱smtp.qq.com465或587

二、发送普通邮件

(1)编写测试

package com.yixin.demo;

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 DemoApplicationTests {

    @Autowired
    JavaMailSenderImpl mailSender;



    @Test
    public void contextLoads() {
        // 构建一个邮件对象
        SimpleMailMessage message = new SimpleMailMessage();

        // 设置邮件主题
        message.setSubject("一心的课堂");

        // 设置邮件的正文
        message.setText("想学【后端】就关注【一心同学】");

        // 设置邮件接收者,可以有多个接收者,中间用逗号隔开,以下类似
        //message.setTo("12******15@qq.com","17*****3@qq.com");

        // 设置邮件接收人,可以有多个接收人
        message.setTo("17******3@qq.com");

        // 设置邮件发送者,这个跟application.yml中设置的要一致
        message.setFrom("12*****15@qq.com");
        // 发送邮件
        mailSender.send(message);
    }

}

(2)查看QQ邮箱

三、发送文件

(1)编写测试

package com.yixin.demo;

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

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


@SpringBootTest
class DemoApplicationTests {

    @Autowired
    JavaMailSenderImpl mailSender;
    

    @Test
    public void contextLoads2() throws MessagingException {

        //邮件设置2:一个复杂的邮件
        MimeMessage mimeMessage = mailSender.createMimeMessage();

        // true表示构建一个可以带附件的邮件对象
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);

        helper.setSubject("一心课堂");
        helper.setText("<b style='color:red'>【发送文件测试】</b>",true);

        //发送附件
        // 第一个参数是自定义的名称,后缀需要加上,第二个参数是文件的位置
        helper.addAttachment("name.jpg",new File("C:\\Users\\Administrator\\Desktop\\new1\\img\\1.jpg"));
        helper.setTo("12******5@qq.com");
        helper.setFrom("12******5@qq.com");
        mailSender.send(mimeMessage);
    }

    

}

(2)查看QQ邮箱

查看邮箱,邮件接收成功!


结语

以上就是【一心同学】整理的基于SpringBoot搭建发送邮件功能的知识点讲解,大家可以自己上手测试一下,在实际开发中,这个功能还是相当实用的。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一心同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值