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

SpringBoot中集成常见邮箱中容易出现的问题

本来也没打算想写得。不过也是遇到一些坑,就记录一下吧,也折腾了小半天

1.maven配置

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

2.实例代码

代码比较简单,如下就是

/*** @description:邮件服务* @author:hutao* @mail:hutao1@epri.sgcc.com.cn* @date:2024年12月10日 上午10:59:20*/
@Service
public class EmailServiceImpl implements EmailService{@Resourceprivate JavaMailSender mailSender;@Value("${spring.mail.username}")private String from;@Overridepublic void sendSimpleEmail(String to, String subject, String text) {SimpleMailMessage message = new SimpleMailMessage();message.setFrom(from);message.setTo(to);message.setSubject(subject);message.setText(text);mailSender.send(message);}
}

3.各邮箱配置

3.1.个人qq邮箱

以下是我验证测试以后可用的配置,如果需要,复制得时候,更改username和password即可

spring:#邮箱配置mail:host: smtp.qq.comprotocol: smtpsport: 465username: 123456@qq.com#这里是授权码,不是邮箱密码password: opzamrrkjfxtbcbidefault-encoding: utf-8properties:mail:smtp:auth: truestarttls:enable: truerequired: true
3.1.1.常见问题:AuthenticationFailedException

QQ邮箱如下报错,password错误需要用授权码,而不是密码。

AuthenticationFailedException: 535 Login Fail. Please enter your authorization code to login. 
More information in https://service.mail.qq.com/detail/0/53

登录qq邮箱,在安全设置中,生成授权码(需要用手机发短信),得到一串随机字符串,密码就是这串字符串。
如果生成授权码失败,提示请稍后在试,请在帐号设置中,检查下邮箱是否已经绑定了手机。
在这里插入图片描述

3.1.2.常见问题:Got bad greeting from SMTP

调用发送以后,等到一会儿,报错

Got bad greeting from SMTP host: smtp.qq.com, port: 465, response: [EOF]

如果你和我一样:在cmd中,使用:telnet smtp.qq.com 465,一样没问题的话,则检查下配置查看配置中是否包含:protocol
在这里插入图片描述

3.2.阿里云个人邮箱

以下是我验证测试以后可用的配置,如果需要,复制得时候,更改username和password即可

spring:mail:#阿里云邮箱配置host: smtp.aliyun.comprotocol: smtpsport: 465username: hutao_2017@aliyun.com#个人邮箱这里是邮箱密码,不是授权码,如果是阿里外贸邮,则是授权码password: xxaabbccdefault-encoding: utf-8properties:mail:smtp:auth: truestarttls:enable: truerequired: true
3.2.1.常见问题:AuthenticationFailedException
AuthenticationFailedException: 526 Authentication failure[0]

密码错误,注意检查下需要密码还是授权码,别用错了导致密码错误,这里需要注意,普通的个人阿里云邮箱,用邮箱密码就可以,是不需要授权码,我在官网找了很久,也没找到授权码,但是,如果你用的不是普通阿里云邮箱,比如是外贸阿里云邮箱,则需要你使用授权码。

这是普通的阿里云账户安全页面,可以看到,是没有授权码的
在这里插入图片描述
如果是阿里外贸邮箱,则是有授权码(三方客户端安全密码)
在这里插入图片描述

3.2.2.常见问题:Got bad greeting from SMTP

同上面的个人QQ邮箱一样处理思路

3.3.网易个人邮箱

spring:mail:#网易邮箱配置host: smtp.163.comprotocol: smtpsport: 465username: hutao_2017@163.com#这里是授权码,不是帐号密码password: 1111111111default-encoding: utf-8properties:mail:smtp:auth: truestarttls:enable: truerequired: true
3.3.1.常见问题:AuthenticationFailedException
AuthenticationFailedException: 535 Error: authentication failed

网易邮箱需要用授权码登录
在这里插入图片描述
在这里插入图片描述

3.2.2.常见问题:Got bad greeting from SMTP

同上面的个人QQ邮箱一样处理思路

http://www.lryc.cn/news/502545.html

相关文章:

  • webstorm开发uniapp(从安装到项目运行)
  • C# 探险之旅:第七节 - 条件判断(三元判断符):? : 的奇妙冒险
  • FlinkCDC实战:将 MySQL 数据同步至 ES
  • debug小记
  • Qt C++ 显示多级结构体,包括结构体名、变量名和值
  • 【JAVA】旅游行业中大数据的使用
  • 【AI+网络/仿真数据集】1分钟搭建云原生端到端5G网络
  • 微服务-01【续】
  • 测试工程师八股文01|Linux系统操作
  • 【Qt】qt基础
  • UniScene:Video、LiDAR 和Occupancy全面SOTA
  • TensorFlow深度学习实战(1)——神经网络与模型训练过程详解
  • 03篇--二值化与自适应二值化
  • 基于python的一个简单的压力测试(DDoS)脚本
  • 基于 Spring Boot 实现图片的服务器本地存储及前端回显
  • 深入 TCP VJ-Style
  • go高性能单机缓存项目
  • 数据结构绪论
  • 前端开发常用四大框架学习难度咋样?
  • OWASP 十大安全漏洞的原理
  • 论文 | ChunkRAG: Novel LLM-Chunk Filtering Method for RAG Systems
  • ORACLE SQL思路: 多行数据有相同字段就合并成一条数据 分页展示
  • SpringBoot 手动实现动态切换数据源 DynamicSource (中)
  • y3编辑器教学5:触发器2 案例演示
  • 数值分析——插值法(二)
  • 杨振宁大学物理视频中黄色的字,c#写程序去掉
  • uni-app 设置缓存过期时间【跨端开发系列】
  • 微信小程序base64图片与临时路径互相转换
  • 蓝桥杯刷题——day2
  • 5.删除链表的倒数第N个节点