@Test public void testPop3() throws Exception { Pop3MailReceiver receiver = new Pop3MailReceiver("localhost", pop3Server.getPort(), "user", "pw"); receiver.setHeaderMapper(new DefaultMailHeaderMapper()); MailReceivingMessageSource source = new MailReceivingMessageSource(receiver); Message<?> message = source.receive(); assertNotNull(message); MessageHeaders headers = message.getHeaders(); assertEquals("Foo <foo@bar>", headers.get(MailHeaders.TO, String[].class)[0]); assertEquals("[a@b, c@d]", Arrays.toString(headers.get(MailHeaders.CC, String[].class))); assertEquals("[e@f, g@h]", Arrays.toString(headers.get(MailHeaders.BCC, String[].class))); assertEquals("Bar <bar@baz>", headers.get(MailHeaders.FROM)); assertEquals("Test Email", headers.get(MailHeaders.SUBJECT)); assertEquals("foo\r\n\r\n", message.getPayload()); }
@Bean public IntegrationFlow pop3MailFlow() { return IntegrationFlows .from(Mail.pop3InboundAdapter("localhost", pop3Server.getPort(), "user", "pw") .javaMailProperties(p -> p.put("mail.debug", "false")) .headerMapper(mailHeaderMapper()), e -> e.autoStartup(true).poller(p -> p.fixedDelay(1000))) .enrichHeaders(s -> s.headerExpressions(c -> c.put(MailHeaders.SUBJECT, "payload.subject") .put(MailHeaders.FROM, "payload.from[0].toString()"))) .channel(MessageChannels.queue("pop3Channel")) .get(); }
@Bean public IntegrationFlow pop3MailFlow() { return IntegrationFlows .from(Mail.pop3InboundAdapter("localhost", pop3Server.getPort(), "user", "pw") .javaMailProperties(p -> p.put("mail.debug", "false")) .headerMapper(mailHeaderMapper()), e -> e.autoStartup(true).poller(p -> p.fixedDelay(1000))) .enrichHeaders(s -> s.headerExpressions(c -> c.put(MailHeaders.SUBJECT, "payload.subject") .put(MailHeaders.FROM, "payload.from[0].toString()"))) .channel(MessageChannels.queue("pop3Channel")) .get(); }