有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

javaMail SMTP会话属性mail可以使用哪些值。smtp。ssl。协议?

到目前为止,我搜索了将近一个小时,以找到填充此属性的有效值的规范或列表

我正在使用javax。邮政会话并调用该会话。getInstance(props)设置“mail.smtp.ssl.protocols”

我在代码中有一个例子,我正在研究:“TLSv1”。我想知道,是否有更多的TLS版本可用,或者我是否可以不使用这个版本,而是将其设置为“TLS”

我在网上遵循的提示和链接不够具体,或者是死链接

到目前为止,我一直在寻找:

许多指向Oracle文档的链接只显示Oracle登录页。 维基百科对SMTP的描述提到了RFC 821,但它不包含属性列表或指向它们的链接

谢谢你的帮助


共 (1) 个答案

  1. # 1 楼答案

    SSLSocket提供了一种方法getSupportedProtocols()

    SSLSocketFactory sf = new SSLSocketFactoryImpl(); SSLSocket s = (SSLSocket) sf.createSocket(); System.out.println( Arrays.toString( s.getSupportedProtocols() )) ;

    输出:[SSLv2Hello,SSLv3,TLSv1,TLSv1.1,TLSv1.2]

    http://download.java.net/jdk7/archive/b123/docs/api/javax/net/ssl/SSLSocket.html#getSupportedProtocols%28%29

    详细信息:

    https://javamail.java.net/nonav/docs/api/com/sun/mail/smtp/package-summary.html

    mail.smtp.ssl.protocols - Specifies the SSL protocols that will be enabled for SSL connections. The property value is a whitespace separated list of tokens acceptable to the javax.net.ssl.SSLSocket.setEnabledProtocols method.

    https://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLSocket.html#setEnabledProtocols%28java.lang.String[]%29

    The protocols must have been listed by getSupportedProtocols() as being supported.