#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>