У меня возникли проблемы с настройкой JavaMailSender для создания и отправки электронной почты. Мое задание Spring Batch выполняет sendEmailStep, но никогда не создает сообщение электронной почты
Вот кусочки, которые у меня есть.
InstanceTestBatchConfiguration.java
В этой конфигурации я настроил sendEmailStep, который вызывает тасклет.
@Configuration
@EnableBatchProcessing
public class InstanceTestBatchConfiguration {
// tag::jobstep[]
@Bean(name = "mccINSTANCETESTjob")
public Job mccOrz004job(JobBuilderFactory jobFactory, //
@Qualifier("instanceTestSetupStep") Step orz004SetupStep, //
@Qualifier("callM204Step") Step callM204Step, //
@Qualifier("sendEmailStep") Step sendEmailStep, //
@Autowired SingleInstanceListener listener) { //
return jobFactory.get("mccINSTANCETESTjob") //
.incrementer(new RunIdIncrementer()) //
.start(orz004SetupStep) //
.next(sendEmailStep) //
.next(callM204Step) //
.build();
}
@Bean(name = "instanceTestSetupStep")
public Step instanceTestSetupStep(StepBuilderFactory stepFactory, InstanceTestSetupTasklet task) {
return stepFactory.get("instanceTestSetupStep") //
.tasklet(task) //
.allowStartIfComplete(true).build();
}
// end::jobstep[]
}
SendEmailTasklet.java Здесь я настроил пример электронной почты для отправки
@Component
public class SendEmailTasklet implements Tasklet {
final static Logger LOGGER = LoggerFactory.getLogger(SendEmailTasklet.class);
@Autowired
public JavaMailSender emailSender;
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo("[email protected]");
message.setSubject("Hello world");
message.setText("This is a test email");
emailSender.send(message);
return RepeatStatus.FINISHED;
}
}
приложение.свойства У меня установлены следующие поля, но я опускаю их для вопроса
spring.mail.host=xxx
spring.mail.port=xxx
#[email protected]
#spring.mail.password=xxxx
spring.mail.properties.mail.smtp.auth=false




Ничего, работает. У меня была настроена почтовая служба, такая как MailHog, для обработки входящих и исходящих электронных писем, и она не была настроена для выпуска электронных писем.