Spring 在sprint启动应用程序中找不到请求目标的有效证书路径

Spring 在sprint启动应用程序中找不到请求目标的有效证书路径,spring,spring-boot,smtp,jakarta-mail,Spring,Spring Boot,Smtp,Jakarta Mail,我已经使用portecle软件添加了证书 org.springframework.mail.MailSendException:邮件服务器连接失败;嵌套异常为javax.mail.MessaginException:异常读取响应; 嵌套异常是: javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCert

我已经使用portecle软件添加了证书

org.springframework.mail.MailSendException:邮件服务器连接失败;嵌套异常为javax.mail.MessaginException:异常读取响应; 嵌套异常是: javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径。失败消息:javax.mail.MessaginException:异常读取响应; 嵌套异常是: javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径;消息异常详细信息(1)包括: 失败消息1: javax.mail.MessaginException:异常读取响应; 嵌套异常是: javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径生成失败:sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径 在com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1462)上 在com.sun.mail.smtp.SMTPTransport.openServer上(SMTPTransport.java:1260) 在com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370)上 在javax.mail.Service.connect(Service.java:275) 位于org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:501) 位于org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:421) 位于org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:345) 位于org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:340) 位于com.propertiestree.admin.service.impl.UserServiceImpl.sendMail(UserServiceImpl.java:376) 在com.propertiestree.admin.service.impl.UserServiceImpl.sendForgotPasswordMail上(UserServiceImpl.java:299) 在com.propertiestree.admin.service.impl.UserServiceImpl$$FastClassBySpringCGLIB$$9317b224.invoke()上 位于org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) 位于org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:669) 在com.propertiestree.admin.service.impl.UserServiceImpl$$EnhancerBySpringCGLIB$$c794cf86.sendForgotPasswordMail()上 在com.propertiestree.admin.rest.controller.UserRestController.sendForgetPasswordMail(UserRestController.java:99)上 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:498) 位于org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) 位于org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133) 位于org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97) 位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) 位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) 位于org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) 位于org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967) 位于org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901) 位于org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 位于org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:635) 位于org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:742) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 位于org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) 位于org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 位于org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:110) 位于org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 位于org.springframework.security.web.FilterChainProxy$Virtual
#########################################
    spring.mail.host= smtp.zoho.com
    spring.mail.port=465
    spring.mail.username=
    spring.mail.password= 
    spring.mail.properties.transport.protocol = smtp
    #spring.mail.properties.mail.smtp.starttls.enable=true
    spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory
    spring.mail.properties.mail.smtp.socketFactory.fallback = true
    spring.mail.properties.smtp.starttls.enable = true
    spring.mail.properties.mail.smtp.auth=true
    spring.session.store-type=none