Настройка JavaMailSender Spring Batch

У меня возникли проблемы с настройкой 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
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
785
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

Другие вопросы по теме