如何使用 spring 集成将电子邮件存储到数组列表对象或数据库中

how to store the mails into a array list object or database using spring integration

我需要将邮件存储到一个集合对象或数据库中以进行邮件处理。这些是下面的代码可以显示的邮件。任何人请指导将邮件保存到集合对象(ArrayList)或数据库。

public void startMail(String user, String pw) {
        IntegrationFlow flow = IntegrationFlows
                .from(Mail.imapInboundAdapter(imapUrl(user, pw))
                        .javaMailProperties(p -> p
                            .put("mail.debug", "true")
                            .put("mail.imap.connectionpoolsize", "1")
                            .put("mail.imap.socketFactory.class", javax.net.ssl.SSLSocketFactory.class)
                            .put("mail.imap.socketFactory.fallback", false)
                            .put("mail.store.protocol", "imaps"))
                        .simpleContent(true)

                    , c -> c.poller(Pollers.fixedRate(60000)))

                    .handle(System.out::println)
                    .get();
        this.flowContext.registration(flow).register();
      }

不确定您将如何处理某些集合,但要将其存储到数据库中,您需要在 .handle().

中使用相应的 JdbcMessageHandler 通道适配器

在文档中查看更多信息:

https://docs.spring.io/spring-integration/docs/current/reference/html/jdbc.html#jdbc-outbound-channel-adapter

https://docs.spring.io/spring-integration/docs/current/reference/html/dsl.html#java-dsl-protocol-adapters