我想在我关注的 Web 应用程序中使用 spring boot MVC
演示电子邮件应用程序 this教程我可以使用 Spring Boot 轻松发送电子邮件。
我的问题是
- 如何使用 Spring Boot 阅读电子邮件..?
- 如何收听新电子邮件以及如何更新 View 上的收件箱..?
请向我建议任何解决方案,因为我搜索了很多,但我只能找到发送电子邮件的示例。如果您有任何使用 Spring Boot 的工作示例,请与我分享。提前致谢。
最佳答案
您可以考虑使用Spring integration mail support
有一个Java DSL为此目的。
IMAP 配置示例可以在 here 中找到。
关键方面是这样的
@Configuration
@EnableIntegration
public class IntegrationConfig {
...
@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 HeaderMapper<MimeMessage> mailHeaderMapper() {
return new DefaultMailHeaderMapper();
}
private SearchTerm fromAndNotSeenTerm(Flags supportedFlags, Folder folder) {
try {
FromTerm fromTerm = new FromTerm(new InternetAddress("bar@baz"));
return new AndTerm(fromTerm, new FlagTerm(new Flags(Flags.Flag.SEEN), false));
}
catch (AddressException e) {
throw new RuntimeException(e);
}
}
}
关于java - spring-boot-starter-mail 上的 Spring Boot 读取和新邮件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46884327/