весна - конфиг весна электронная почта - PullRequest
1 голос
/ 24 декабря 2009

Я использовал 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, и он работал.

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

Ответы [ 3 ]

6 голосов
/ 24 декабря 2009

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

<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>
1 голос
/ 24 декабря 2009

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

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

0 голосов
/ 24 декабря 2009

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

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

...