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: Mail server connection failed. Failed messages: jakarta.mail.MessagingException: Got bad greeting from SMTP host: host.testcontainers.internal, port: 1025, response: [EOF]
Есть ли у кого-нибудь идеи, почему это происходит?

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