I have wanted to use Spring Integration in my project for receiving new mails from Mail server.
Following drawbacks hinder the usage.
1. If idle for timeout time, the connection is closed. There is no way to reconnect. I am not sure stopping and starting ImapIdleChannelAdapter would work.
2. It gets the message and converts to MimeMessage. If it is a IMAPMessage which extends MimeMessage, then listener looses all properties of IMAPMessage.
3. There is no transactional feature bulit into IMAP IDLE feature. We loose the message if server goes down while processing the message.