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 ...
随机推荐
- Programming abstractions in C阅读笔记:p130-p131
<Programming Abstractions In C>学习第52天,p130-p131,总结如下: 一.技术总结 1. pig latin game 通过pig latin gam ...
- 浅聊一下SpringMVC的核心组件以及通过源码了解其执行流程
浅聊一下SpringMVC的核心组件以及通过源码了解其执行流程 MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,Controller(控制器)将View(视图.用户客户端)与Model(j ...
- .NET中测量多线程基准性能
多线程基准性能是用来衡量计算机系统或应用程序在多线程环境下的执行能力和性能的度量指标.它通常用来评估系统在并行处理任务时的效率和性能.测量中通常创建多个线程并在这些线程上执行并发任务,以模拟实际应用程 ...
- 月工资不到10元的内容审核专员? - ChatGPT 在内容自动审查中的应用
内容过滤筛查是指对网络上发布或传播的文本.图片.视频等内容进行审核和监管,以防止出现违法违规.暴力色情.虚假广告.电信诈骗等现象,维护网络安全和社会秩序. 内容过滤筛查是一个亟待解决的问题,因为网络内 ...
- 使用HTML一键打包IPA工具打包KRPANO全景项目
该软件已经被GDB苹果网页一键打包工具取代,详情参考如下链接 GDB苹果网页一键打包 HTML一键打包IPA(苹果应用)工具可以把本地HTML项目或者网站打包为一个苹果应用IPA文件,无需编写任何代码 ...
- Python socket实现ftp文件下载服务
简要 使用Python socket和多线程实现一个FTP服务下载.下面的示例是固定下载某一个任意格式文件. 仅仅为了展示如果使用socket和多线程进行文件下载 服务端代码 import socke ...
- Unicode 字符集与 UTF-8 编码系统
Unicode 字符集与 UTF-8 编码系统 Synopsis: Unicode 只是包含了所有语言符号.图形符号等的统一字符集(character set,每个字符都有唯一的 Unicode co ...
- chatgpt与搜索结合,百度会在这股浪潮下掘金吗?
年末,在百度内部沟通会上,百度创始人李彦宏提到最近他的朋友们问他如何看待ChatGPT,包括他周围同行业中的同一领域和跨境人士. 事实上,早在ChatGPT将他的对话能力和直观的互动方式展现给全世界 ...
- MIT协议原文及中文翻译
MIT协议原文及翻译 参考链接 原文: Copyright ( C ) Permission is hereby granted, free of charge, to any person obta ...
- java学习内容-1
java学习内容-1 (一)jdk的使用 (二)定义标识符的规则 (三)java常用类 1.String类 2.Math类 3.Integer和Double类 4.输出 5.Scanner类 例子 ( ...