Smtp 获取错误“;找不到请求目标的有效证书路径;将java邮件服务与Velocity引擎一起使用时

Smtp 获取错误“;找不到请求目标的有效证书路径;将java邮件服务与Velocity引擎一起使用时,smtp,ssl-certificate,jakarta-mail,springsource,Smtp,Ssl Certificate,Jakarta Mail,Springsource,我正在使用Velocity enguine和java邮件服务发送邮件。我正在使用SMTP协议。。这里是我的配置 bean id=“mailSender”class=“org.springframework.mail.javamail.JavaMailSenderImpl”/ property name=“host”value=“lotus.acme.com”/ property name=“port”value=“25”/ property name=“username”value=“edosr

我正在使用Velocity enguine和java邮件服务发送邮件。我正在使用SMTP协议。。这里是我的配置

bean id=“mailSender”class=“org.springframework.mail.javamail.JavaMailSenderImpl”/

property name=“host”value=“lotus.acme.com”/
property name=“port”value=“25”/
property name=“username”value=“edosrvc”/
属性名称=“密码”值=”wipro@123"/
property name=“javaMailProperties”
道具
prop key=“mail.transport.protocol”>smtp
真的
* 
真的
真的
resource.loader=class
class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
我也试过把这个财产包括在内

*

即使这样,我也得到了贝洛错误

sun.security.provider.certpath.SunCertPathBuilderException:找不到请求目标的有效证书路径 位于sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:174) 位于java.security.cert.CertPathBuilder.build(CertPathBuilder.java:238) 位于sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:280) 位于sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:191) 位于sun.security.validator.validator.validate(validator.java:218)

谁能在这个问题上帮助我

我对这些协议和服务器证书非常陌生

所以任何人都可以告诉我如何尽快完成我的工作


提前感谢。

您使用的是什么版本的JavaMail

如果需要,调试输出会显示什么

另外,尝试将系统属性“mail.socket.debug”设置为“true”,以获得与证书相关的其他调试输出

我对Velocity一无所知,所以我不知道代码中的这些属性设置是如何进入JavaMail的,但很有可能不是,这就解释了问题所在。调试输出将有助于验证实际情况

            property name="host" value="lotus.acme.com"/            
        property name="port" value="25"/
        property name="username" value="edosrvc"/
        property name="password" value="wipro@123"/
        property name="javaMailProperties"
            props
                <!-- Use SMTP transport protocol -->
                prop key="mail.transport.protocol">smtp</prop>
                <!-- Use SMTP-AUTH to authenticate to SMTP server -->
                <prop key="mail.smtp.auth">true</prop>
                  <prop key="mail.smtp.ssl.trust">*</prop> 

                <!-- Use TLS to encrypt communication with SMTP server -->
                <prop key="mail.smtp.starttls.enable">true</prop>
                <prop key="mail.debug">true</prop>
            </props>
        </property>
   </bean>

   <bean id="esi" class="com.example.NotificationServiceImpl">      
        <property name="mailSender" ref="mailSender" />
        <property name="velocityEngine" ref="velocityEngine" />     
   </bean>

   <bean id="velocityEngine"class="org.springframework.ui.velocity.VelocityEngineFactoryBean">        
 <property name="velocityProperties">
                       <value>
                   resource.loader=class
                    class.resource.loader.class=org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader
                </value>
                    </property>             
    </bean>

    <bean id="templateMessage" class="org.springframework.mail.SimpleMailMessage">
        <property name="from" value="samplesrvc@acme.com"></property>

    </bean>