@Test public void testIdleWithServerCustomSearch() throws Exception { ImapMailReceiver receiver = new ImapMailReceiver("imap://user:pw@localhost:" + this.imapIdleServer.getPort() + "/INBOX"); receiver.setSearchTermStrategy((supportedFlags, folder) -> { try { FromTerm fromTerm = new FromTerm(new InternetAddress("bar@baz")); return new AndTerm(fromTerm, new FlagTerm(new Flags(Flag.SEEN), false)); } catch (AddressException e) { throw new RuntimeException(e); } }); testIdleWithServerGuts(receiver, false); }
@Bean public IntegrationFlow imapMailFlow() { return IntegrationFlows .from(Mail.imapInboundAdapter("imap://user:pw@localhost:" + imapServer.getPort() + "/INBOX") .searchTermStrategy(this::fromAndNotSeenTerm) .userFlag("testSIUserFlag") .simpleContent(true) .javaMailProperties(p -> p.put("mail.debug", "false")), e -> e.autoStartup(true) .poller(p -> p.fixedDelay(1000))) .channel(MessageChannels.queue("imapChannel")) .get(); }
@Bean public IntegrationFlow imapIdleFlow() { return IntegrationFlows .from(Mail.imapIdleAdapter("imap://user:pw@localhost:" + imapIdleServer.getPort() + "/INBOX") .autoStartup(true) .searchTermStrategy(this::fromAndNotSeenTerm) .userFlag("testSIUserFlag") .javaMailProperties(p -> p.put("mail.debug", "false") .put("mail.imap.connectionpoolsize", "5")) .shouldReconnectAutomatically(false) .headerMapper(mailHeaderMapper())) .channel(MessageChannels.queue("imapIdleChannel")) .get(); }
@Bean public IntegrationFlow imapIdleFlow() { return IntegrationFlows .from(Mail.imapIdleAdapter("imap://user:pw@localhost:" + imapIdleServer.getPort() + "/INBOX") .autoStartup(true) .searchTermStrategy(this::fromAndNotSeenTerm) .userFlag("testSIUserFlag") .javaMailProperties(p -> p.put("mail.debug", "false") .put("mail.imap.connectionpoolsize", "5")) .shouldReconnectAutomatically(false) .headerMapper(mailHeaderMapper())) .channel(MessageChannels.queue("imapIdleChannel")) .get(); }
@Bean public IntegrationFlow imapMailFlow() { return IntegrationFlows .from(Mail.imapInboundAdapter("imap://user:pw@localhost:" + imapServer.getPort() + "/INBOX") .searchTermStrategy(this::fromAndNotSeenTerm) .userFlag("testSIUserFlag") .javaMailProperties(p -> p.put("mail.debug", "false")), e -> e.autoStartup(true) .poller(p -> p.fixedDelay(1000))) .channel(MessageChannels.queue("imapChannel")) .get(); }
@Test public void testIdleWithMessageMappingSimple() throws Exception { ImapMailReceiver receiver = new ImapMailReceiver("imap://user:pw@localhost:" + this.imapIdleServer.getPort() + "/INBOX"); receiver.setSimpleContent(true); receiver.setHeaderMapper(new DefaultMailHeaderMapper()); testIdleWithServerGuts(receiver, true, true); }
@Test public void testIdleWithMessageMapping() throws Exception { ImapMailReceiver receiver = new ImapMailReceiver("imap://user:pw@localhost:" + this.imapIdleServer.getPort() + "/INBOX"); receiver.setHeaderMapper(new DefaultMailHeaderMapper()); testIdleWithServerGuts(receiver, true); }
@Test public void testIdleWithServerDefaultSearch() throws Exception { ImapMailReceiver receiver = new ImapMailReceiver("imap://user:pw@localhost:" + this.imapIdleServer.getPort() + "/INBOX"); testIdleWithServerGuts(receiver, false); assertTrue(this.imapIdleServer.assertReceived("searchWithUserFlag")); }
@Test public void testIdleWithServerDefaultSearchSimple() throws Exception { ImapMailReceiver receiver = new ImapMailReceiver("imap://user:pw@localhost:" + this.imapIdleServer.getPort() + "/INBOX"); receiver.setSimpleContent(true); testIdleWithServerGuts(receiver, false, true); assertTrue(this.imapIdleServer.assertReceived("searchWithUserFlag")); }