栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Unrecognized SSL message, plaintext connection?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unrecognized SSL message, plaintext connection?

前言

昨天快下班了,一同事在群里发了一个异常日志,内容如下

发送邮件失败:{}

javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
	at sun.security.ssl.InputRecord.handleUnknownRecord(InputRecord.java:710)
	at sun.security.ssl.InputRecord.read(InputRecord.java:527)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
	at com.sun.mail.util.SocketFetcher.configureSSLSocket(SocketFetcher.java:619)
	at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:393)
	at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:217)
	at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2160)
	at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:726)
	at javax.mail.Service.connect(Service.java:366)

报错日志是一个发送邮件功能,他怀疑是不是邮件内容中包含了转义字符,导致有的邮件可以正常发送,有的邮件发送失败。

问题本质

看这异常日志,像是SSL解析问题,涉及邮件发送的服务之前都升级为SSL了,服务都已经上线了,发送邮件相关代码理论上是没问题的,后来想到邮件发送的25端口和465端口,报着试试的态度,去集成环境服务器上查看了下邮件服务器的配置,真相大白了,66服务器上邮箱端口居然是25的,而169服务器上的端口是465的,服务端两个节点,请求在两个节点上轮询,这就解释了,为啥有的邮件发送是ok的。显然将25端口改为465就ok了。

在排查问题的时候,经常会出现偶现问题,这时候就要考虑环境的是否有多节点,节点环境、配置是否一致。之前还出现过mq配置错的,测试环境的mq消费了集成环境的消息问题,所以在排查问题的时候要冷静,要看异常日志的实际报错信息,从而再排查问题。

具体邮件支持SSL相关信息,可以查看邮件发送工具类

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1003016.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号