Настройка JavaMailSender Spring Batch - PullRequest
0 голосов
/ 31 января 2019

У меня проблемы с настройкой JavaMailSender для создания и отправки электронного письма.Мое весеннее пакетное задание выполняет 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("exampleemail@google.com");
        message.setSubject("Hello world");
        message.setText("This is a test email");
        emailSender.send(message);

        return RepeatStatus.FINISHED;
    }

}

application.properties У меня установлены следующие поля, но они опущены для вопроса

spring.mail.host=xxx
spring.mail.port=xxx
#spring.mail.username=xxxx@xxx.com
#spring.mail.password=xxxx
spring.mail.properties.mail.smtp.auth=false

1 Ответ

0 голосов
/ 31 января 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...