2014-10-11 4 views
0

Я работаю над приложением Spring MVC, которое отправляет электронное письмо с использованием Spring JavaMail package.i.e.Нет такого провайдера для https после обновления контекста Spring

org.springframework.mail.javamail.JavaMailSenderImpl 

У меня есть свойства при создании боба

<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. Мне пришлось обновить весенний контекст до версии 3.1. Но, когда я обновил поддержку spring-context до 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 ..) –

+0

Спасибо, RC. Я просто изменил его на smtp. Это просто сработало. Ты моя жизнь. Мне любопытно узнать, что такая же конфигурация работала только до обновления. Как это происходит? Вы знаете об этом. Пожалуйста, напишите ответ на один лайнер. Я соглашусь. Спасибо, отлично провели день. – Keerthivasan

ответ

0

Транспортировка должна, вероятно, будет «SMTP» не «HTTPS» (я имею в виду на порт 25 ..)

Насколько я знаю, нет «HTTPS» поставщик доставки почты, может быть, Java Mail API используется до и после обновления не то же самое, и старый сделал резерв на «smtp».

Смотрите также: http://docs.oracle.com/javaee/7/api/javax/mail/package-summary.html

+0

Я полностью понимаю сейчас. Благодарю. - Логика «Fallback» делала все правильно. – Keerthivasan

Смежные вопросы