【发布时间】:2021-07-22 10:32:32
【问题描述】:
我突然无法在 Unbuntu 服务器上发送电子邮件。
从今天开始就发生了。 它仍在本地工作。
javax.mail.MessagingException: Could not convert socket to TLS;
nested exception is:
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at com.sun.mail.smtp.SMTPTransport.startTLS(SMTPTransport.java:1907)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:666)
JAVA:
openjdk 版本“11.0.11” 2021-04-20
OpenJDK 运行时环境(内部版本 11.0.11+9-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM(build 11.0.11+9-Ubuntu-0ubuntu2.20.04,混合模式,共享)
握手后新会话票到达:
SSL 会话:
协议:TLSv1.3
密码:TLS_AES_256_GCM_SHA384
【问题讨论】:
-
这是托管在 VPS 还是公司 VM 上?可能是端口被阻塞了
-
通过 ssh 进入 VPS 确认,然后使用 ssmtp 或 smtpc 进行测试。如果它也失败了,请尝试使用其他端口的其他电子邮件提供商
-
AWS 确实默认阻止 SMTP。
-
别猜了。确认。选择其中一个,您将看到 VPS 或提供商是否阻止了您
-
@Martheen 阻塞的端口不会导致错误“没有合适的协议(协议被禁用或密码套件不合适)”。此错误可能意味着服务器正在使用自 Java 11.0.11 以来默认禁用的 TLS v1.1 或更早版本,并且鉴于该版本是最近发布的,我猜想它在 Java 升级时开始失败。跨度>
标签: java linux spring email ssl