本文介绍了Java邮件无法使用TLS或SSL连接到SMTP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!,0,我正在尝试从Java连接到邮件服务器。我已经能够使用相同的代码成功地从Java连接到许多邮件服务器,包括Gmail、Rackspace、GoPardy和其他,但无论我尝试什么设置,这个都不起作用。,出现以下错误:javax.mail.MessagingException:无法将套接字转换为TLS;嵌套异常为:javax.net.ssl.SSLException:无法识别的SSL消息,是否为明文连接?,我也试过了,失败,错误为:javax.mail.SendFailedException:地址无效;嵌套异常为:com.sun.mail.smtp.SMTPAddressFailedException:端口587上的邮件提交需要550 SMTP身份验证,我也尝试了端口465,但超时。,我能够使用相同的SMTP设置从雷鸟电子邮件客户端(相同的主机/端口/用户/PW,但它必须执行其他操作)发送邮件。,使用Java Mail 1.51,有什么想法吗?,当您使用SSL时(smtps
),您不使用STARTTLS(msa
),反之亦然。SSL默认为端口465
,TLS默认为端口587
。您可能还必须使用mail.smtp.ssl.protocols
或mail.smtps.ssl.protocols
设置SSL协议,以指定将为SSL/TLS连接启用的SSL协议。最好避免覆盖PasswordAuthentication
发送凭据,使用SMTPTransport
connect
方法。同样重要的是,对于SSL,您必须使用smtps
formail.transport.protocol
,并使用mail.smtps
道具而不是mail.smtp
。我将提供关于SSL和TLS的示例。,您可以使用session.setDebug(true)
或props.put("mail.debug", "true")
在控制台中调试并查看整个通信;这将非常有帮助,因为您将看到与服务器的整个telnet通信。,的调试输出示例,注意传输协议是smtp
,请注意,传输协议是smtps
,这篇关于Java邮件无法使用TLS或SSL连接到SMTP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,