SpringBoot整合JavaMail
1、发送简单邮件
导入依赖
implementation 'org.springframework.boot:spring-boot-starter-mail:3.0.2'
开启相关协议,获取密码~ 我是用的是QQ邮箱,其他的也一样

配置一下mail的相关信息
spring.mail.username=你的QQ@qq.com
spring.mail.password=你的密码
spring.mail.host=smtp.qq.com
# 接收人的邮箱
mail.receiver=xxxxxxx@163.com
编写发送代码
package com.qbb.mail;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Component;
/**
* @author startqbb (个人博客:https://www.cnblogs.com/qbbit)
* @date 2023-02-08 21:34
* @tags 喜欢就去努力的争取
*/
@Component
public class SendMail {
@Autowired
private JavaMailSender javaMailSender;
@Value("${spring.mail.username}")
private String sender;
@Value("${mail.receiver}")
private String receiver;
private String title = "SpringBoot发送邮件";
private String body = "你好呀,我的宝宝~";
public void send() {
SimpleMailMessage mimeMessages = new SimpleMailMessage();
/**
* 需要传递四个信息
* 1、发送人
* 2、接收人
* 3、标题
* 4、主体信息
*/
mimeMessages.setFrom(sender+("哈哈哈"));
mimeMessages.setTo(receiver);
mimeMessages.setSubject(title);
mimeMessages.setText(body);
javaMailSender.send(mimeMessages);
System.out.println("send ......");
}
}

2、发送复杂邮件(图片、附件...)
其实就是换一个高级点的对象
package com.qbb.mail;
import jakarta.mail.MessagingException;
import jakarta.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;
import java.io.File;
/**
* @author startqbb (个人博客:https://www.cnblogs.com/qbbit)
* @date 2023-02-08 21:53
* @tags 喜欢就去努力的争取
*/
@Component
public class SendComplexMail {
@Autowired
private JavaMailSender javaMailSender;
@Value("${spring.mail.username}")
private String sender;
@Value("${mail.receiver}")
private String receiver;
private String title = "SpringBoot发送复杂邮件";
//private String body = "你好呀,我的宝宝,我用代码给我发消息 。 <a href='https://www.baidu.com'>点开有惊喜</a>";
private String body = "你好呀,我的宝宝,我用代码给我发消息 。 <img src='https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2021%2F1028%2Fba8af181j00r1nr5e002lc000hs011xc.jpg&thumbnail=660x2147483647&quality=80&type=jpg'/>";
public void send() {
try {
MimeMessage mimeMessage = javaMailSender.createMimeMessage();
/**
* 需要传递四个信息
* 1、发送人
* 2、接收人
* 3、标题
* 4、主体信息
*/
//MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
// 第二个参数,开启发送附件
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
helper.setFrom(sender);
helper.setTo(receiver);
helper.setSubject(title);
// 第二个参数,用于开启解析html标签
helper.setText(body, true);
// 发送附件
File f1 = new File("E:\\JavaProject\\study_project\\springboot-javamail\\build\\libs\\springboot-javamail-0.0.1-SNAPSHOT-plain.jar");
File f2 = new File("E:\\JavaProject\\study_project\\springboot-javamail\\src\\main\\resources\\static\\avatar.ico");
helper.addAttachment(f1.getName(), f1);
helper.addAttachment("avatar.jpg", f2);
javaMailSender.send(mimeMessage);
System.out.println("send ......");
} catch (MessagingException e) {
throw new RuntimeException(e);
}
}
}

SpringBoot整合JavaMail的更多相关文章
- SpringBoot整合JavaMail发送邮件
JavaMail是SUN提供给广大Java开发人员的一款邮件发送和接受的一款开源类库,支持常用的邮件协议,如:SMTP.POP3.IMAP,开发人员使用JavaMail编写邮件程序时,不再需要考虑底层 ...
- SpringBoot整合ActiveMQ发送邮件
虽然ActiveMQ以被其他MQ所替代,但仍有学习的意义,本文采用邮件发送的例子展示ActiveMQ 1. 生产者1.1 引入maven依赖1.2 application.yml配置1.3 创建配置类 ...
- ActiveMQ入门系列之应用:Springboot+ActiveMQ+JavaMail实现异步邮件发送
现在邮件发送功能已经是几乎每个系统或网址必备的功能了,从用户注册的确认到找回密码再到消息提醒,这些功能普遍的会用到邮件发送功能.我们都买过火车票,买完后会有邮件提醒,有时候邮件并不是买完票立马就能收到 ...
- SpringBoot整合开发
1.SpringBoot分模块 分模块就是将一个项目分成多个模块,即maven项目. 1)首先创建一个springboot的项目: 第一步:选择springboot的项目 第二步:填写项目的相关信息, ...
- spring-boot整合mybatis(1)
sprig-boot是一个微服务架构,加快了spring工程快速开发,以及简便了配置.接下来开始spring-boot与mybatis的整合. 1.创建一个maven工程命名为spring-boot- ...
- SpringBoot整合Mybatis之项目结构、数据源
已经有好些日子没有总结了,不是变懒了,而是我一直在奋力学习springboot的路上,现在也算是完成了第一阶段的学习,今天给各位总结总结. 之前在网上找过不少关于springboot的教程,都是一些比 ...
- springboot整合mq接收消息队列
继上篇springboot整合mq发送消息队列 本篇主要在上篇基础上进行activiemq消息队列的接收springboot整合mq发送消息队列 第一步:新建marven项目,配置pom文件 < ...
- springboot整合mybaits注解开发
springboot整合mybaits注解开发时,返回json或者map对象时,如果一个字段的value为空,需要更改springboot的配置文件 mybatis: configuration: c ...
- SpringBoot整合Redis、ApachSolr和SpringSession
SpringBoot整合Redis.ApachSolr和SpringSession 一.简介 SpringBoot自从问世以来,以其方便的配置受到了广大开发者的青睐.它提供了各种starter简化很多 ...
- SpringBoot整合ElasticSearch实现多版本的兼容
前言 在上一篇学习SpringBoot中,整合了Mybatis.Druid和PageHelper并实现了多数据源的操作.本篇主要是介绍和使用目前最火的搜索引擎ElastiSearch,并和Spring ...
随机推荐
- 智能AI 的应用场景
小凡智能AI是一款基于人工智能技术开发的助软件,能够帮助用户解决各种各样的问题,提高工作效率和生活质量.它的应用范围广泛,涵盖了工作.学习.健康等多个方面,为用户提供了全方位的服务支持. 在工作方面, ...
- 转载|QA|Pycharm一行代码太长如何换行?|Pycharm|工具相关
- B2C在线教育商城--前后端分离部署
博客地址:https://www.cnblogs.com/zylyehuo/ 技术栈:vue + nginx + uwsgi + django + mariadb + redis 基本流程 vue打包 ...
- 慢SQL治理实践及落地成果分享
一.治理背景 数据库系统性能问题会对应用程序的性能和用户体验产生负面影响.慢查询可能导致应用程序响应变慢.请求堆积.系统负载增加等问题,甚至引发系统崩溃或不可用的情况.慢SQL治理是在数据库系统中针对 ...
- ES6 Module模块,在vsCode中已服务器模式运行HTML文件
操作步骤如下: 一.安装Live Server 插件 二.点击扩展设置 三.设置live server默认打开浏览器为"chrome" 四.配置-工作区 五.在HTML文件中,右键 ...
- 我封装的一个REPR轮子 Biwen.QuickApi
Biwen.QuickApi 项目介绍 [QuickApi("hello/world")] public class MyApi : BaseQuickApi<Req,Rsp ...
- Ubuntu 22.04上安装docker方法及oracle 11g方法
1.切换到管理员登录 ubt2204@ubt2204-Virtual-Machine:~/database$ su Password: 2.执行安装docker命令 root@ubt2204-Virt ...
- Oracle:字符串的拼接、截取、查找、替换
一.拼接:1.使用"||"来拼接字符串: select '拼接'||'字符串' as Str from dual; 2.使用concat(param1,param2)函数实现: s ...
- python接口自动化 之excel读取测试数据
一.当你拥有一个excel版的接口用例 excel中有用例名称.url.请求方式和请求参数 二.获取excel的Url.请求方式和请求参数 # 单独获取某个单元格的值,第二行第二列# 第二行数据 ro ...
- HBuilderX内置终端无法使用不能输入
找到HBuilderX的目录打开plugins\builtincef3terminal\script找到main.js用记事本或其他什么打开他 把这部分代码替换成这个再重启hbuilderX就可以了 ...