首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaMailSender安装弹簧批处理

JavaMailSender安装弹簧批处理
EN

Stack Overflow用户
提问于 2019-01-31 15:58:06
回答 1查看 919关注 0票数 0

我很难配置一个JavaMailSender来创建和发送电子邮件。我的Spring批处理作业执行sendEmailStep,但从不创建电子邮件消息

这是我的作品。

InstanceTestBatchConfiguration.java

在这个Config中,我设置了一个调用tasklet的sendEmailStep

代码语言:javascript
复制
@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这里我设置了一个要发送的电子邮件示例

代码语言:javascript
复制
@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 --我设置了以下字段,但忽略了它们

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-31 16:28:46

不介意,它起作用了。我已经设置了一个像MailHog这样的邮件服务来处理收发邮件,而且它没有配置为释放电子邮件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54464500

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档