当前位置: 首页 > news >正文

【SpringBoot】基础协议及邮件配置整合

一、名词概念解释

  • 什么是POP3、SMTP和IMAP?
    简单的说:POP3和IMAP是用来从服务器上下载邮件的。SMTP适用于发送或中转信件时找到下一个目的地。所以我们发送邮件应该使用SMTP协议。
    POP3、SMTP和IMAP协议介绍
    IMAP和POP3有什么区别?
  • 什么是免费邮箱客户端授权码功能?
    邮箱客户端授权码是为了避免您的邮箱密码被盗后,盗号者通过客户端登录邮箱而独特设计的安防功能。

二、 整合邮件发送功能

引入依赖

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

QQ邮箱配置

官方配置说明:参考官方帮助中心

获取客户端授权码:参考官方帮助中心

详细的配置如下:

spring:mail:host: smtp.qq.com #发送邮件服务器username: xx@qq.com #QQ邮箱password: xxxxxxxxxxx #客户端授权码protocol: smtp #发送邮件协议properties.mail.smtp.auth: trueproperties.mail.smtp.port: 465 #端口号465或587properties.mail.display.sendmail: Javen #可以任意properties.mail.display.sendname: Spring Boot Guide Email #可以任意properties.mail.smtp.starttls.enable: trueproperties.mail.smtp.starttls.required: trueproperties.mail.smtp.ssl.enable: truedefault-encoding: utf-8

说明:开启SSL时使用587端口时无法连接QQ邮件服务器

网易系(126/163/yeah)邮箱配置

网易邮箱客户端授码:参考官方帮助中心

客户端端口配置说明:参考官方帮助中心

详细的配置如下:

spring:mail:host: smtp.126.comusername: xx@126.compassword: xxxxxxxxprotocol: smtpproperties.mail.smtp.auth: trueproperties.mail.smtp.port: 994 #465或者994properties.mail.display.sendmail: Javenproperties.mail.display.sendname: Spring Boot Guide Emailproperties.mail.smtp.starttls.enable: trueproperties.mail.smtp.starttls.required: trueproperties.mail.smtp.ssl.enable: truedefault-encoding: utf-8from: xx@126.com

特别说明:

  • 126邮箱SMTP服务器地址:smtp.126.com,端口号:465或者994
  • 163邮箱SMTP服务器地址:smtp.163.com,端口号:465或者994
  • yeah邮箱SMTP服务器地址:smtp.yeah.net,端口号:465或者994

三、发送简单邮件

@Service
public class MailService {@Resourceprivate JavaMailSender mailSender;@Value("${spring.mail.username}")private String fromEmail;/*** 发送文本邮件*/public void sendSimpleMail(String to, String subject, String content) {SimpleMailMessage message = new SimpleMailMessage();message.setFrom(fromEmail);message.setTo(to);message.setSubject(subject);message.setText(content);mailSender.send(message);}}

测试代码:

@RunWith(SpringRunner.class)
@SpringBootTest
public class MailServiceTest {@ResourceMailService mailService;@Testpublic void sendSimpleMail() {mailService.sendSimpleMail("431899405@qq.com","普通文本邮件","普通文本邮件内容测试");}
}
http://www.lryc.cn/news/11884.html

相关文章:

  • pytorch配置—什么是CUDA,什么是CUDNN、在配置pytorch虚拟环境中遇到的问题、在安装gpu—pytorch中遇到的问题
  • jfr引起的一次jvm异常记录
  • Java智慧校园平台源码:SaaS模式智慧校园运营云平台源码
  • 【yolov5】将标注好的数据集进行划分(附完整可运行python代码)
  • es-05分词器
  • 已解决zipfile.BadZipFile: File is not a zip file
  • Mybatis源码分析:Mybatis的数据存储对象
  • 学习 Python 之 Pygame 开发坦克大战(二)
  • 短视频时代是靠什么赚钱的,介绍常见的5种方式,简单明了
  • 关于CentOS维护的几条简单命令
  • PoW 、PoS , DPoS 算法
  • SpringCloud(PS)远程调用--Feign
  • 2023年全国最新二级建造师精选真题及答案1
  • HydroD 实用教程(四)水动力模型
  • vue项目第七天
  • 拂晓·微信机器人
  • React:Hooks工作机制
  • 基于深度神经网络的3D模型合成【Transformer vs. CNN】
  • 前端面试题整理之HMTL篇(一)
  • 【论文速递】ICLR2018 - 用于小样本语义分割的条件网络
  • 本地生成动漫风格 AI 绘画 图像|Stable Diffusion WebUI 的安装和局域网部署教程
  • 用一行Python代码,为图片上水印版权!
  • java中的lambda表达式
  • 0.1opencv库VS环境配置
  • 第五十七章 树状数组(二)
  • 比特币的网络
  • ChatGPT的模型介绍及GO语言实现API
  • Tile防丢器引入全新防盗模式,苹果Find My功能拓展到大众消费电子
  • 物联网中RocketMQ的使用
  • 用Three.js搭建的一个艺术场景