Не удается отправить электронную почту за границу через SMTP, Java

#java #spring #smtp

#java #spring #smtp

Вопрос:

Я запутался и застрял в своем проекте.

Я хочу отправить электронное письмо через SMTP JAVA на зарубежный адрес электронной почты, но я получаю сообщение о тайм-ауте.

Я не знаю почему.

Моя конфигурация xml:

     <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

    <bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
        <property name="host" value="smtp.gmail.com" />
        <property name="port" value="25" />
        <property name="username" value="testing@gmail.com" />
        <property name="password" value="password" />

        <property name="javaMailProperties">
            <props>
                <prop key="mail.smtp.auth">true</prop>
                <prop key="mail.smtp.starttls.enable">true</prop>
            </props>
        </property>

    </bean>

    <bean id="emailService" class="com.dwidasa.iacssweb.service.feature.EmailService">
        <property name="mailSender" ref="mailSender" />
        <property name="simpleMailMessage" ref="customeMailMessage" />
    </bean>

    <bean id="customeMailMessage"
        class="org.springframework.mail.SimpleMailMessage">

        <property name="subject" value="RESET PASSWORD" />
        <property name="text">
        <value>
            <![CDATA[
Dear %s,
%s
            ]]>
        </value>
    </property>
    </bean>


</beans>
  

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

Ошибка:

Вызвано:

Исключение org.springframework.mail.MailSendException: не удалось подключиться к почтовому серверу; вложенным исключением является исключение javax.mail.MessagingException: не удалось подключиться к хосту SMTP: smtp.dwidasa.com, порт: 587; вложенное исключение: java.net.ConnectException: Время ожидания соединения истекло (время ожидания соединения истекло). Сообщения с ошибкой: javax.mail.MessagingException: Не удалось подключиться к SMTP-хосту: smtp.dwidasa.com, порт: 587; вложенное исключение: java.net.ConnectException: Время ожидания соединения истекло (время ожидания соединения истекло); сведения об исключении сообщения (1) являются:

Комментарии:

1. Вы пробовали пинговать smtp-сервер?

2. Предполагая, что вы являетесь владельцем этого почтового сервера dwidasa, проверьте настройки и посмотрите, открыты ли порты.

3. Он открыт и запускает Postfix. Вероятно, просто еще один фильтр пакетов, отбрасывающий исходящие соединения на порт 25.

Ответ №1:

Попробуйте использовать порт: 587 и добавьте следующие свойства для javaMailProperties

 <prop key="mail.transport.protocol">smtp</prop>