整合qq邮箱发送

news/2024/7/3 0:59:13

目录

🌮1.获取qq授权码

🫓2.引入依赖 

🧈3.配置mail信息

🥞4.创建实现类 

🥖5.测试


1.获取qq授权码

 

点击开启服务,发送信息获取授权码 

 

2.引入依赖 

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

3.配置mail信息

spring:
   mail:
    host: smtp.qq.com   #发送邮箱服务器
    username: 3100602334@qq.com #发送邮箱的地址
    password: drtasyovwpqpdhfc  #客户端授权码
    default-encoding: utf-8
    properties.mail.stmp.starttls.enbale: true
    properties.mail.stmp.starttls.require: true
    properties.mail.stmp.ssl.enable: true

4.创建实现类 

@Slf4j
@Service
public class MailServiceImpl implements MailService {

    /**
     * springboot的发送邮件的对象,可读取配置文件
     */
    @Autowired
    private JavaMailSender mailSender;


    /**
     * 发件人,从配置文件读取
     */
    @Value("${spring.mail.username}")
    private String from;

    /**
     * 发送邮件
     * @param to:收件人
     * @param subject:主题
     * @param content:内容
     */
    @Override
    public void sendMail(String to, String subject, String content) {
        //1.创建邮箱消息对象
        SimpleMailMessage message = new SimpleMailMessage();
        //2.配置邮件发送人
        message.setFrom(from);
        //3.邮件接收人
        message.setTo(to);
        //4.邮件主题
        message.setSubject(subject);
        //5.邮件内容
        message.setText(content);
        //6.发送邮件
        mailSender.send(message);
        log.info("邮件发送成功");
    }
}

5.测试

    @Autowired
    private MailService mailService;
    @Test
    public void test3(){

        //收件人的邮箱
        String to="3100@qq.com";
        //邮件的主体
        String subject="欢迎查收小张的邮件";
        //邮件的内容
        String content="未来的日子里笑口常开哦~";
        mailService.sendMail(to,subject,content);
    }

http://lihuaxi.xjx100.cn/news/2108903.html

相关文章

Acwing1113. 红与黑

Problem: Acwing1113. 红与黑 文章目录 思路解题方法复杂度Code 思路 这是一道经典的洪水填充问题&#xff0c;可以使用dfs搜索和bfs搜索来解决。 ′ . ′ : . : ′.′:表示黑色瓷砖&#xff0c;‘#’:表示红色瓷砖&#xff0c;‘’表示黑色的瓷砖&#xff0c;并且你站在这块瓷…

算法系列--递归

一.如何理解递归 递归对于初学者来说是一个非常抽象的概念,笔者在第一次学习时也是迷迷糊糊的(二叉树遍历),递归的代码看起来非常的简洁,优美,但是如何想出来递归的思路或者为什么能用递归这是初学者很难分析出来的 笔者在学习的过程中通过刷题,也总结出自己的一些经验,总结来…

vue3 几种实现点击复制链接的方法

vue3 几种实现点击复制链接的方法 环境&#xff1a;vue3tselment plus 目的&#xff1a;常用到的地方就是点击复制分享链接功能 1.复制当前页面链接&#xff0c; <template><div class"news" style"margin-top: 30px"><el-button type&q…

首页效果炫酷的wordpress免费主题模板

视频背景免费WP主题 简洁大气的视频背景wordpress主题&#xff0c;找大视频背景的主题可以看看这个。 https://www.wpniu.com/themes/193.html 红色全屏大图WP主题 非常经典的一款免费wordpress主题&#xff0c;红色全屏大图满足多行业使用。 https://www.wpniu.com/themes…

攻防实战 | 记一次nacos到接管阿里云百万数据泄露

在某次攻防当中&#xff0c;通过打点发现了一台nacos&#xff0c;经过测试之后发现可以通过弱口令进入到后台&#xff0c;可以查看其中的配置信息 通过翻看配置文件&#xff0c;发现腾讯云的AK,SK泄露&#xff0c;以及数据库的账号密码。操作不就来了么&#xff0c;直接上云&am…

String类型详解

1. Java为何要创造String类 在C语言中,是没有String这个类型的,通常使用字符数组中存放一个个字符,再加上最后一个\0来表示/存放一个字符串.也可以使用一个字符指针指向字符串的首元素,直到遇到\0停止,再加上C语言头文件string.h中封装的函数,对于字符串的操作已经够用了. Java…

计算机组成原理(超详解!!) 第二节 数据的存储

1. 数据与文字的表示方法 1.数据格式 选择数的表示时要考虑的因素&#xff1a; 要表示的数的类型&#xff1a;决定表示方式 可能遇到的数值范围&#xff1a;确定存储、处理能力 数值的精确度&#xff1a;处理能力相关 数据的存储、处理所需的硬件代价&#xff1a;造价高低…

基于springboot+vue的中山社区医疗综合服务平台

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战&#xff0c;欢迎高校老师\讲师\同行交流合作 ​主要内容&#xff1a;毕业设计(Javaweb项目|小程序|Pyt…