2014-10-11 48 views
0

我正在使用Spring JavaMail package.i.e發送電子郵件的Spring MVC應用程序。在Spring上下文升級後沒有https這樣的提供者

org.springframework.mail.javamail.JavaMailSenderImpl 

我bean創建

<bean id="mailInfo" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
     <property name="port" value="25" /> 
     <!-- <property name="username" value="[email protected]" /> --> 
     <property name="username" value="[email protected]" /> 
     <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-context升級到至少3.1版本。但是,當我將spring-context-support升級到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 

我一直在處理這個問題超過一天。有人能幫我理解這個問題嗎?我假設這將是一個類路徑問題。但是,我該如何解決這類問題。請幫忙。

+0

運輸大概應該是 「SMTP」 而不是 「https」 開頭(我的意思是在端口25 ..) – 2014-10-11 05:55:00

+0

謝謝你,RC。我只是把它改成了smtp。它只是工作。你是我的救星。我很好奇知道在升級之前相同的配置工作。這是怎麼發生的?你知道嗎?請發表一個簡單的答案。我會接受它。謝謝,祝你有美好的一天。 – Keerthivasan 2014-10-11 06:01:12

回答

0

運輸大概應該是「SMTP」而不是「https」開頭(我的意思是在端口25 ..)

據我所知,沒有「https」開頭的郵件傳輸提供,也許使用的Java郵件API升級之前和之後不一樣,舊的做了回退到「smtp」。

參見:http://docs.oracle.com/javaee/7/api/javax/mail/package-summary.html

+0

我現在完全明白了。謝謝。 - '回退'邏輯一直在以正確的方式做事。 – Keerthivasan 2014-10-11 06:57:45

相關問題