2009-12-24 3 views
1

Я использовал springmail, чтобы отправить электронную почту от моего SMTP-сервера с помощью следующей конфигурации:весна - весна конфигурации электронной почты

<bean id="springEmailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
    <property name="defaultEncoding" value="UTF-8"/> 
    <property name="host" value="mail.myserver.com"/> 
    <property name="port" value="25"/> 

    <property name="username" value="username"/> 
    <property name="password" value="password"/> 
    <property name="javaMailProperties"> 
     <value> 
      mail.debug=true 
      mail.smtp.auth=true 
      mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory 
      mail.smtp.socketFactory.fallback=false 
     </value> 
    </property></bean> 

Но бросить «javax.net.ssl.SSLException: Непризнанные сообщение SSL, открытым текстом соединение? " Я протестировал эту конфигурацию с gmail на порту 465, и это сработало.

Пожалуйста, скажите мне, что я сделал неправильно. Спасибо

+0

Есть ответ на этот вопрос http://stackoverflow.com/questions/8917400/how-to-configure-spring-javamailsender-for-ses-using-smtp –

ответ

1

Возможно, вы не должны использовать SSL. Является ли почтовый сервер настроен на принятие зашифрованного сообщения? Похоже, он хочет простого текста.

Я бы вернулся к reference docs и посмотрел, будет ли это работать.

+0

Спасибо, я удалил эти свойства mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory mail.smtp.socketFactory.fallback = false Но это дает мне еще одно исключение: MessagingException: [EOF] – robinmag

5

Похоже, ваш SMTP-сервер требует SSL (безопасного) соединения. См. Пример ниже, как настроить его для Gmail, для которого также требуется SSL. Обратите внимание на протокол smtps и дополнительные свойства.

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
    <property name="host" value="smtp.gmail.com" /> 
    <property name="port" value="465" /> 
    <property name="protocol" value="smtps" /> 
    <property name="username" value="user"/> 
    <property name="password" value="password"/> 
    <property name="javaMailProperties"> 
     <props> 
      <prop key="mail.smtps.auth">true</prop> 
      <prop key="mail.smtps.starttls.enable">true</prop> 
      <prop key="mail.smtps.debug">true</prop> 
     </props> 
    </property> 
</bean> 
0

Я бы попробовал удалить все javaMailProperties, а также свойства имени пользователя и пароля.

Как указывает duffymo, вы, вероятно, не должны использовать SSL (порт 25 является SMTP-портом без SSL). Большинство SMTP-серверов также не требуют проверки подлинности (если вы явно не настроили ее).

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