我试图用TLS连接到一个使用javax.mail api的SMTP服务器,但是我得到了一个错误:
"javax.net.ssl.exception:未识别的ssl消息,明文连接?“
错误的步骤是:。。
SMTP客户端发送STARTTLS
”
我相信这个错误与在客户端hello消息(上面的步骤3)中将SMTP服务器名称串联起来(作为纯文本)有关,但是,对于为什么会发生这种情况,还有更多的想法吗?客户端Java属性是:
props.put("mail.smtp.host", "smtp-server-hostname");
props.put("mail.smtp.port", "25");
props.put("mail.smtp.auth", "false");
props.put("mail.transport.protocol", "smtp");
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.ssl.protocols", "TLSv1.2");
props.put("mail.debug", "true");
(服务器配置为接受端口25中的TLS )
谢谢!
发布于 2019-12-12 17:16:13
我发现了问题所在:我在我的maven中使用:
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>
而不是:
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
https://stackoverflow.com/questions/59221627
复制相似问题