我有多个特定提供商的电子邮件帐户。从昨天开始,所有帐户和所有电子邮件阅读器(Linux 上的 Thunderbird、Android 上的 K9)上的 POP3 和 SMTP 均无提示失败。
Thunderbird 的调试控制台给了我一个相当神秘和无用的“mailnews.pop3.2:NetworkInterruptError:发生网络错误”
我的所有帐户都配置为使用 SSL/TLS(已经使用了 20 年),但如果我将其设置为“无”,我就可以登录并查看消息,所以这不是密码问题。所以我猜这是服务器端的问题。我尝试了 security.tls.version.min=1 和 security.tls.version.enable-deprecated=true,但无济于事。
我该怎么做才能更好地诊断这个问题?Thunderbird 没有提供太多信息。
编辑:
我不知道这是否是正确的命令,但如果我执行以下操作,似乎没有任何反应。服务器证书是否丢失?
$ openssl s_client -showcerts -connect mail.myserver.com:995
CONNECTED(00000003)
write:errno=104
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 319 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
编辑2
这是服务器证书的权限问题。我对此无能为力。现在问题已经解决了。
答案1
感谢您的openssl
输出。看起来服务器mail.myserver.com
没有返回任何数据:SSL handshake has read 0 bytes
。如果服务器之前可以正常工作,但在他们进行配置更改后不再工作,那么这很可能听起来像是他们更改了他们提供的 SSL 或 TLS 协议版本和密码套件,并且您系统上现有的 SSL 和 TLS 库无法使用这些协议。
如果不知道实际的主机名,我们就无法直接诊断问题,但你能输入此网站的主机名和端口(例如mail.myserver.com:995
):
这将提供主机提供的可用协议和密码的详细报告。您可以使用以下选项快速检查 TLS 版本 1.0、1.1、1.2 和 1.3 openssl
:
-tls1
对于 TLS 1.0-tls1_1
对于 TLS 1.1-tls1_2
对于 TLS 1.2-tls1_3
对于 TLS 1.3
例如,openssl s_client -showcerts -connect mail.myserver.com:995 -tls1_3
查看服务器是否支持 TLS 版本 1.3。
出于好奇,您使用的 openssl 版本是什么?openssl version
应该告诉您。
答案2
这是服务器证书的权限问题。我对此无能为力。现在问题已经解决了。