0

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

bean id="mailSender" 类="org.springframework.mail.javamail.JavaMailSenderImpl"/

            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>

我也试过包括这个属性

*

即使那样我也收到了贝洛错误

sun.security.provider.certpath.SunCertPathBuilderException:无法在 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)

谁能帮我解决这个问题。

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

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

提前致谢。

4

1 回答 1

0

您使用的是什么版本的 JavaMail?

如果打开 Session debugging,调试输出会显示什么?

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

我对 Velocity 一无所知,所以我不知道代码中的这些属性设置是如何到达 JavaMail 的,但它们似乎很可能不是,这可以解释问题。调试输出将有助于验证真正发生了什么。

于 2012-04-19T17:12:57.063 回答