admin管理员组文章数量:1530279
在使用javax.mail编写发送邮件的功能时,采用了SSL方式,在windows本地开发环境可以成功发送邮件。但是放到linux服务器上就不行,报以下错误:
javax.mail.MessagingException: Could not connect to SMTP host: test.163, port: 465;
nested exception is:
javax.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1961)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at com.example.demo.controller.SendEmailUtil.sendEmail(SendEmailUtil.java:80)
at com.example.demo.controller.DemoController.testDemo(DemoController.java:10)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:893)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:798)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
经过研究、排查发现是linux服务器的JDK不支持SSLv3,TLSv1,TLSv1.1,导致。
修改/usr/java/jdk1.8.0_60/jre/lib/security/java.security文件中的 jdk.tls.disabledAllgorithms属性,删除其中的SSLv3,TLSv1,TLSv1.1,然后resource /usr/java/jdk1.8.0_60/jre/lib/security/java.security即可。
本文标签: 发送邮件MailJavajavaxconnect
版权声明:本文标题:java使用javax.mail发送邮件报Could not connect to SMTP host:. SSLHandshakeException: No appropriate protocol 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1726297538a1064787.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论