Как настроить SMTP-сервер без аутентификации в Java - PullRequest
0 голосов
/ 03 июня 2018

Изначально я использовал smtp.gmail.com в качестве сервера smtp для отправки писем с использованием API Java.Но теперь я должен изменить SMTP-сервер и использовать наш клиент SMTP-сервер.Допустим, что клиентский SMTP-сервер называется «143.12.12.1» и без аутентификации.

Итак, кто-нибудь может сказать мне, какую конфигурацию мне нужно сделать? Нужно ли спрашивать моего клиента об электронной почте отправителя, которая создаетсяв их домене (домен означает SMTP-сервер).

В настоящее время я использую идентификатор Gmail в качестве идентификатора отправителя, а SMTP-сервер имеет клиента «143.12.12.1».

Я использовал следующую конфигурацию SMTPв моем коде: -

конфигурации файла smtp.config
#Email Configuration
host = 143.12.12.1
port = 25
isAuth = false
startTLS = true
startSSL= false
socketFactory = javax.net.ssl.SSLSocketFactory
isFallback = false
isDebug = true
emailUser =abc@gmail.com
password = abc

ApplicationContext.xml конфигурации

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="${host}"/>
        <property name="port" value="${port}"/>
        <property name="session" ref="mailSession"></property>
    </bean>

    <bean id="mailSession" class="javax.mail.Session" factory-method="getInstance">
        <constructor-arg>
            <props>
                <prop key="mail.smtp.auth">${isAuth}</prop>
                <prop key="mail.smtp.starttls.enable">${startTLS}</prop>
                <prop key="mail.smtp.ssl.enable">${startSSL}</prop>
                <prop key="mail.smtp.socketFactory.port">${port}</prop>
                <prop key="mail.smtp.socketFactory.class">${socketFactory}</prop>
                <prop key="mail.smtp.socketFactory.fallback">${isFallback}</prop>
                <prop key="mail.smtp.debug">${isDebug}</prop>
            </props>
        </constructor-arg>
        <constructor-arg ref="smtpAuthenticator" />
    </bean>

    <bean id="smtpAuthenticator" class="com.ericsson.obhs.util.SmtpAuthenticator">
        <constructor-arg value="${emailUser}" />
        <constructor-arg value="${password}" />
    </bean

>

Каждый раз, когда я пытаюсь отправить почту, яполучение следующей ошибки: -

org.springframework.mail.MailSendException: сбой подключения к почтовому серверу;Вложенное исключение - javax.mail.MessagingException: Исключение при чтении;Вложенное исключение: javax.net.ssl.SSLException: нераспознанное сообщение SSL, текстовое соединение ?.Неудачные сообщения: javax.mail.MessagingException: Исключение при чтении ответа;Вложенное исключение: javax.net.ssl.SSLException: Нераспознанное сообщение SSL, текстовое соединение ?;Подробности исключения сообщения (1):

1 Ответ

0 голосов
/ 04 июня 2018

Избавьтесь от всех настроек сокета и настроек порта, они вам не нужны , и они заставляют вас подключиться не к тому порту.Вам может потребоваться установить startTLS = false в зависимости от требований вашего сервера.

Вы определенно захотите, чтобы адрес «От» был адресом, известным вашему почтовому серверу клиента.

...