我正在使用Apache james 2.3.2服务器作为电子邮件代理。即使我在服务器和所有端口上启用了Starttls。 Gmail不会通过TLS传递电子邮件,而是发送不安全的电子邮件。
答案 0 :(得分:0)
发生这种情况的主要原因是,Apache James中使用了JAVA Mail API。在其Socketfetcher类中,它运行一个名为configureSSLSocket的方法,在此方法中,使用SocketFetcher类创建的SSL套接字将获得setEnabledProtocols方法的运行在上面。
默认情况下,此方法中设置的值为TLSv1(即使在最新版本中)。因此,如果您未在用于创建SSL套接字的会话中设置mail。“ protocol” .ssl.protocols选项,则该套接字将被降级为TLSv1,并且大多数服务器上的google不再允许TLSv1连接,因此掉线回到纯文本。