SpringBoot发送邮箱

news/2024/10/17 21:22:10/

 一、导入依赖

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

二、添加配置

application.yml文件

将username修改为自己的邮箱,password修改为自己的邮箱授权码(下面有QQ授权码的生成地址)

java">spring:mail:port: 465username: xxxxxx@qq.com     # 自己的邮箱或者发送人的邮箱password: xxxxxx            # 邮箱授权码host: smtp.qq.com               properties:mail:smtp:auth: falsessl:enable: truedebug: true

QQ授权码 生成地址: 账号与安全 (qq.com)

三、导入工具类

java">import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Component;
​
@Component
public class SendEmailUtil {
​/*** 消息发送工具*/@Autowiredprivate JavaMailSender sender;
​/*** @param senderEmail 发送者的邮箱* @param receiverEmail 接收者的邮箱* @param messageText   消息内容*/public void send(String senderEmail, String receiverEmail, String messageText) {//  创建消息对象SimpleMailMessage message = new SimpleMailMessage();
​//设置消息相关信息//  发送者邮箱message.setFrom(senderEmail);//  消息内容message.setText(messageText);//  接收者邮箱message.setTo(receiverEmail);
​//  发送消息sender.send(message);}
​/*** @param senderEmail 发送者的邮箱* @param receiverEmail 接收者的邮箱* @param messageText  消息内容* @param subject 消息主题*/public void send(String senderEmail, String receiverEmail, String messageText,String subject) {//  创建消息对象SimpleMailMessage message = new SimpleMailMessage();
​//设置消息相关信息//  发送者message.setFrom(senderEmail);//  消息主题message.setSubject(subject);//  消息内容message.setText(messageText);//  接收者message.setTo(receiverEmail);
​//  发送消息sender.send(message);}
}

四、发送消息

在SpringBoot的测试类中发送

java">@Autowired
private SendEmailUtil sendEmailUtil;@Test
void sendUtil() {String senderEmail = "xxxxxx@qq.com";   //  发送者邮箱String receiverEmail = "xxxxxx@qq.com"; //  接收者邮箱String msg = "hello,编程大师!";            //  消息内容String subject = "测试springboot发送邮箱";      //  消息主题sendEmailUtil.send(senderEmail,receiverEmail,msg,subject);
}

邮箱查看消息

如:


http://www.ppmy.cn/news/1539808.html

相关文章

【JavaScript】关于使用JS对word文档实现预览的一些思考

文章目录 mammothdocx4js mammoth 官网地址&#xff1a;https://github.com/mwilliamson/mammoth.js#readme 安装mammoth&#xff1a; npm i mammoth -S我们可以安装mammoth来实现上传的word文件的在线预览&#xff0c;我们以element的上传组件为示例&#xff1a; <temp…

Vue3子组件watch无法监听父组件传递的属性值

Vue3子组件watch无法监听父组件传递的属性值 1 问题描述2 引发原因3 解决方法 1 问题描述 假设子组件 ChildComponent 中有个属性a&#xff0c;默认值为 0&#xff0c;并且通过侦听器 watch 监听其数值变化。在父组件 ParentComponent 中调用子组件并将属性a的值赋为1传递给子…

finalshell连接navicat数据库

一、安装mysql数据库 这个安装在另外一篇里 超详细的finalshell安装数据库以及数据库的基本操作-CSDN博客https://blog.csdn.net/cfjbcg/article/details/142990671 二、连接 说明root这个用户连接&#xff0c;是有权限的限制的----》修改权限 use mysql pdate user set hos…

MySQL 篇-深入了解 InnoDB 引擎的逻辑存储结构、架构、事务原理、MVCC 原理分析(RC 级别、RR 级别)

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 InnoDB 引擎 - 逻辑存储结构 2.0 InnoDB 引擎 - 架构 2.1 InnoDB 引擎 - 内存结构 2.2 InnoDB 引擎 - 磁盘结构 2.3 InnoDB 引擎 - 后台线程 3.0 InnoDB 引擎 - 事…

Java中字符串.split分割转List<String>判空问题

第一种分割直接分割&#xff0c;如果cph字符串为空&#xff0c;分割后cphList会>0 List<String> cphList Arrays.asList(cph.split(","));第二种判空后分割&#xff0c;如果cph字符串为空&#xff0c;判空后再分割cphList会0 List<String> cphList…

基于SpringBoot+Vue+Uniapp家具购物小程序的设计与实现

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而…

Jenkins构建Springboot项目显示Lombok依赖不起作用

报错&#xff1a; 解决&#xff1a; 当时我的maven是从windows拉进来的&#xff0c;忘记改仓库路径&#xff08;还是D盘什么什么的&#xff09;&#xff0c;所以换一下仓库路径就可以了 再次构建查看&#xff1a;

windows安装cuda与cudnn

cuda安装 前期准备 查看电脑支持的cuda版 方式一 按快捷键winR输入“cmd”&#xff0c;打开命令行窗口&#xff0c;输入 nvidia-smi 方式二 打开nvidia控制面板 点击“帮助”&#xff0c;点击“系统信息” 打开系统信息后点击“组件”&#xff0c;查看NVIDIA CUDA支持版本…