Spring JavaMailSender и Testcontainers Mailpit не работают вместеJAVA

Программисты JAVA общаются здесь
Anonymous
Spring JavaMailSender и Testcontainers Mailpit не работают вместе

Сообщение Anonymous »

Для тестирования у меня запущен экземпляр Mailpit Testcontainers:

Код: Выделить всё

@Container
static MailpitContainer mailpitContainer = new MailpitContainer()
.withNetwork(TESTCONTAINERS_NETWORK);
Тестируемая служба сама развернута в экземпляре Testcontainers:

Код: Выделить всё

public class MyServiceUnderTestContainer extends GenericContainer

private static final String IMAGE_NAME...

static {
Testcontainers.exposeHostPorts(1025);
}

public MyServiceUnderTestContainer(Map environmentVariables) {
super(IMAGE_NAME);
this.withAccessToHost(true);
this.withNetwork(TESTCONTAINERS_NETWORK);
}
}
Мой Spring JavaMailSender настроен следующим образом:

Код: Выделить всё

@Bean
public JavaMailSenderImpl createJavaMailSenderBean() {
final JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
mailSender.setHost("host.testcontainers.internal");
mailSender.setPort(1025);
mailSender.setUsername("");
mailSender.setPassword(null);
mailSender.setProtocol("smtp");
mailSender.setJavaMailProperties(createJavaMailProperties());
return mailSender;
}

private Properties createJavaMailProperties() {
final Properties properties = new Properties();
properties.put("mail.smtp.auth", false);
properties.put("mail.smtp.starttls.enable", false);
properties.put("mail.smtp.connectiontimeout", 180000);
properties.put("mail.smtp.timeout", 180000);
return properties;
}
Я получаю следующее сообщение об ошибке:

org.springframework.mail.MailSendException: не удалось подключиться к почтовому серверу. Неудачные сообщения: jakarta.mail.MessagingException: получено плохое приветствие от хоста SMTP: хост.testcontainers.internal, порт: 1025, ответ: [EOF]

Почему возникает эта ошибка и как ее исправить?

Вернуться в «JAVA»