我正在开发Spring应用程序,它使用Spring包发送电子邮件,即JavaMail包。
org.springframework.mail.javamail.JavaMailSenderImpl在bean创建过程中,我拥有这些属性
<bean id="mailInfo" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="port" value="25" />
<!-- <property name="username" value="xxxx@yyy.com" /> -->
<property name="username" value="aaaa@bbbb.com" />
<property name="password" value="xxxxx" />
<property name="javaMailProperties">
<props>
<prop key="mail.transport.protocol">https</prop>
<prop key="mail.smtp.host">hostname</prop>
<prop key="mail.smtps.auth">true</prop>
<prop key="mail.smtp.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.smtp.socketFactory.port">25</prop>
<prop key="mail.debug">true</prop>
<prop key="mail.smtp.ssl.enable">false</prop>
<prop key="mail.smtp.ssl.trust">true</prop>
<prop key="mail.smtp.starttls.enable">true</prop>
<prop key="mail.smtp.socketFactory.fallback">true</prop>
</props>
</property>
</bean>一切都很顺利。我正在使用Ehcache 2.8.1添加缓存功能。我不得不将spring上下文升级到至少3.1版本。但是,当我将spring上下文支持升级到3.2.3时。它开始抛出下面的异常。
ERROR MailServiceImpl:130 - MailSendException:Mail server connection failed; nested
exception is javax.mail.NoSuchProviderException: No provider for https.
Failed messages: javax.mail.NoSuchProviderException: No provider for https我在这个问题上已经工作了一天多了。有人能帮我理解这个问题吗?我认为这将是一个类型化的问题。但是,我怎样才能解决这种问题。请帮帮忙。
发布于 2014-10-11 06:28:13
传输可能应该是"smtp“而不是"https”(我指的是端口25.)
据我所知,没有"https“邮件传输提供者,可能在升级前后使用的java邮件API不一样,而旧的邮件API则倒退到了"smtp”。
另见:http://docs.oracle.com/javaee/7/api/javax/mail/package-summary.html
https://stackoverflow.com/questions/26311568
复制相似问题