Ошибка отправки сообщения и подключения к 587 порту через spring boot
Мне нужно написать сервис для отправки писем, но сколько источников я не просматривал ничего не выходит и вылетает с данной ошибкой:
"Mail server connection failed. Failed messages: org.eclipse.angus.mail.util .MailConnectException: Couldn't connect to host, port: smtp.gmail.com, 587; timeout -1;\n nested exception is:\n\tjava.net.ConnectException: Connection timed out: connect".
Подскажите пожалуйста, может я где-то что-то упустил. Вот мой сервис, который встроен в другой через DI с помощью интерфейса, ошибок там быть не может:
@Service
public class EmailService implements IEmailService{
private static final Logger log = LoggerFactory.getLogger(EmailService.class);
private final JavaMailSender _javaMailSender;
@Value("${spring.mail.username}")
private String sender;
public EmailService(JavaMailSender javaMailSender) {
_javaMailSender = javaMailSender;
}
@Override
public ServiceResponse<String> sendEmail(String recipientEmail, String subject, String message) {
var serviceResponse = new ServiceResponse<String>();
try {
MimeMessage mimeMessage = _javaMailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
mimeMessageHelper.setFrom(sender);
mimeMessageHelper.setTo(recipientEmail);
mimeMessageHelper.setSubject(subject);
mimeMessageHelper.setText(message);
_javaMailSender.send(mimeMessage);
serviceResponse.data = null;
serviceResponse.success = true;
serviceResponse.message = String.format("Security code for %s successfully sent to your email.", subject);
} catch (Exception ex) {
log.error("Error sending email: {}", ex.getMessage(), ex);
serviceResponse.data = null;
serviceResponse.success = false;
serviceResponse.message = ex.getMessage();
}
return serviceResponse;
}
application.yml
:
spring:
mail:
host: smtp.gmail.com
username: [email protected]
password: mypassword
port: 587
properties:
mail:
smtp:
starttls:
enable: true
auth: true
Пакет с pom.xml
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
Ответы (1 шт):
Проблема решилась путем замены интернет-провайдера (изначально не работало, т.к подключился к Wi-Fi другой сети с вставленным патч-кордом текущей сети (не знаю, проблема винды или самой сетевой карты, что она не смогла переключить сигнал, но после переключения на другую сеть и полного отключения от предыдущей smtp сразу же встал и заработал)).