Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SpringBoot在Linux环境下发送163邮件失败(No appropriate protocol (protocol is disabled or cipher suites are inap

SpringBoot在Linux环境下发送163邮件失败(No appropriate protocol (protocol is disabled or cipher suites are inap

作者头像
Jensen_97
发布于 2024-04-18 05:33:01
发布于 2024-04-18 05:33:01
42900
代码可运行
举报
文章被收录于专栏:技术客栈技术客栈
运行总次数:0
代码可运行

描述

最近把项目从腾讯云迁移到阿里云(linux)后,突然发现邮件功能不能用,经过排查log发现报了一个协议的错误:javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

具体报错信息如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 465;
  nested exception is:
	javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1963)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
	at javax.mail.Service.connect(Service.java:345)
	at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:518)
	at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:437)
	at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:361)
	at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:356)
	at com.forum.core.Utils.JavaxMailUtil.sendTemplateMail(JavaxMailUtil.java:51)
	at com.forum.frontSystem.Feedback.Service.impl.FeedbackSeviceImpl.lambda$insert$0(FeedbackSeviceImpl.java:124)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
	at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171)
	at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:106)
	at sun.security.ssl.TransportContext.kickstart(TransportContext.java:238)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:405)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:384)
	at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:528)
	at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:333)
	at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:229)
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1927)
	... 11 more

解决方法

经过网上说法是:jdk1.8版本导致SSL调用权限上有问题。需要修改java.security文件的内容,具体路径在jdk安装目录下的/jre/lib/security 里找到java.security并打开,找到如下图所示的位置,把它们注释掉,再重启你的项目,问题就解决了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024/01/13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信退费报错:SSLHandshakeException No appropriate protocol (protocol is disabled or cipher suites are inap
微信退费报错:No appropriate protocol (protocol is disabled or cipher suites are inappropr)
oktokeep
2024/10/09
2220
微信退费报错:SSLHandshakeException No appropriate protocol (protocol is disabled or cipher suites are inap
springboot发送邮件
相信使用过Spring的众多开发者都知道Spring提供了非常好用的 JavaMailSender接口实现邮件发送。在Spring Boot的Starter模块中也为此提供了自动化配置。下面通过实例看看如何在Spring Boot中使用 JavaMailSender 发送邮件。
共饮一杯无
2022/11/24
1.6K0
springboot发送邮件
Unrecognized SSL message, plaintext connection?
高爽
2017/12/28
5.8K0
Mysql连接数据库异常汇总【必收藏】
在Centos上部署项目发现一个奇怪的问题,数据库连接一直抛异常。于是花了两个小时搜了各种数据库连接异常导致的原因,最终问题得以解决。同时,把解决过程中搜集到的异常信息汇总一下,当大家遇到类似的问题时,给大家以思路。必须珍藏。
程序新视界
2020/03/24
2.6K0
HikariPool-1 - Exception during pool initialization. Springboot 默认选择的mysql问题
samRsa
2025/02/24
2030
SSL 中证书能否够使用IP而不是域名[通俗易懂]
前言:曾经听别人说生成证书时能够用IP地址。今天用样例证实了下用IP地址是不行的。
全栈程序员站长
2022/01/24
1.1K0
记一次部署在docker环境项目发送邮件出现No appropriate protocol
部门有个项目涉及到邮件发送,发送功能在本地测试可以成功发送,但是打包部署到docker环境中,却出现
lyb-geek
2023/01/10
1.6K0
记一次部署在docker环境项目发送邮件出现No appropriate protocol
记一次因证书问题导致请求失败问题SSLHandshakeException
转载请注明出处:https://www.cnblogs.com/funnyzpc/p/10989813.html
上帝
2019/06/14
2.3K0
【Flink实时数仓】需求一:用户属性维表处理-Flink CDC 连接 MySQL 至 Hbase 实验及报错分析
这个代码是sql-client.sh中成功读取到MySQL插入的数据,此时在MySQL中对数据的操作即可通过FlinkCDC连接展示在此界面。
火之高兴
2024/07/25
2020
【Flink实时数仓】需求一:用户属性维表处理-Flink CDC 连接 MySQL 至 Hbase 实验及报错分析
浅谈https中的双向认证
总述 https简单来说就是在http协议的基础上增加了一层安全协议。通常为TLS或者SSL(一般现在都采用TLS,更加安全)。这一层安全协议的最主要的作用有两个: 1. 验证服务端或客户端的合法性
SecondWorld
2021/07/28
2.4K0
浅谈https中的双向认证
httpclient发送https协议请求以及javax.net.ssl.SSLHandshakeException解决办法
本人在做接口自动化的过程中,遇到了请求第三方https协议请求,在经过了短暂的知识重新学习之后,写完代码执行起来总是遇到一个异常,在用客户端执行请求的时候抛出来的,下面是异常的信息:
FunTester
2019/10/17
3.9K0
SpringBoot发送邮件
这是博主自己本地记在有道云的,现在都发出来,希望对你们有帮助哈。 话不多说,直接上代码~ 一、依赖 <!-- javax.mail --> <dependency> <groupId>com.sun.mail</groupId> <artifactId>javax.mail</artifactId> <version>1.6.0</version> </dependency> 二、邮箱配置 mail.smtp.auth=true mail.transport.protocol=smt
Java团长
2018/12/06
5620
使用Java实现邮件发送功能,邮件发送API JavaMail
JavaMail是一个用于发送和接收邮件的API。它提供了一个独立于平台的、基于Java的邮件解决方案。我们可以使用JavaMail发送电子邮件,包括文本邮件、HTML邮件以及带附件的邮件。
Harry技术
2025/01/13
2740
使用Java实现邮件发送功能,邮件发送API JavaMail
Error creating bean with name ‘attrAttrgroupRelationController‘
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'attrAttrgroupRelationController':  Unsatisfied dependency expressed through field 'attrAttrgroupRelationService';  nested exception is org.springframework.
一个风轻云淡
2022/11/15
9930
Error creating bean with name ‘attrAttrgroupRelationController‘
JDBC SSL连接MySQL
SSL(Secure Socket Layer:安全套接字层),利用数据加密、身份验证和消息完整性验证机制,为基于TCP等可靠连接的应用层协议提供安全性保证。
bisal
2021/09/10
6K0
JDBC SSL连接MySQL
工作流调度器azkaban(以及各种工作流调度器比对)
文章主要讲述了如何通过配置nginx.conf来实现反向代理和负载均衡。介绍了反向代理和负载均衡的概念,以及常见的方法和优缺点。还介绍了一种基于nginx的配置方法,并给出了详细的步骤和示例。
别先生
2018/01/02
3.4K0
工作流调度器azkaban(以及各种工作流调度器比对)
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection 问题处理
1.首先看到的报错信息org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; 怀疑是项目配置的链接数据库的地址或者用户名, 密码错误导致,后仔细核查数据库ip ,端口号,数据库用户名,密码均未发现异常。 2.考虑到1中未排查出异常,故继续往下找,发现javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target,查询了一下错误信息的意义,发现这个应该是缺少认证证书的问题,但是连接数据库并不是通过https连接,怎么会触发证书认证的情况?可以错误日志也没有再提供其他的方向了,这个时候跟程序发现报了mysql的08001的错误码,查询得知代表的是数据库连接时区配置问题,再次检查时区配置,并按社区小伙伴提供的时区配置后问题仍然没有解决。 3.基于2中缺少证书的问题,给自己的tomcat安装了认证证书,但是问题仍然存在 4.问题再次回到1,检查数据库连接,发现原来的数据库连接有参数userSSL=true,这个参数是过去到现在一直存在的,查询参数意义发现如果这个参数开启,需要应用端和服务端同时配置证书,查看mysql服务端
六月的雨在Tencent
2024/03/28
3230
org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection 问题处理
IDEA 2021 配置Data Sources 报错
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
猫头虎
2024/04/07
2790
IDEA 2021 配置Data Sources 报错
[MYSQL] mysql升级后, 应用连不上, 报错 Bad handshake
测试环境数据库从 5.7.27 升级到 5.7.44之后, 应用发现连不上数据库了.
大大刺猬
2024/07/17
5800
[MYSQL] mysql升级后, 应用连不上, 报错 Bad handshake
Archiva 2.2.3 安装运行的时候出现协议版本错误
但是远程仓库不能同步数据到你的本地仓库中, 同时服务器上有上面的错误。但是 Archiva 的安装和运行是没有问题的。
HoneyMoose
2019/04/16
8950
推荐阅读
相关推荐
微信退费报错:SSLHandshakeException No appropriate protocol (protocol is disabled or cipher suites are inap
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验