Our clients ask us to open IMAP (previously mostly POP and Webmail access) for their customers. The impact is significant on I/O, specifically when IMAP clients poll to ask for new messages.
Most of their customers use Outlook Express (Windows XP) or the new Windows Mail (Vista and Seven). The impact of Outlook Express on I/O could be reduced thanks to IMAP IDLE. OE has a known bug regarding its support of IDLE (see: http://www.washington.edu/imap/IMAP-FAQs/index.html#7.37 or the post here : http://asg.andrew.cmu.edu/archive/message.php?mailbox=archive.info-cyrus&searchterm=outlook%20idle&msg=31911 ). I am very surprised that Cyrus Imapd doesn't provide any workaround for this issue. It is not an issue for anybody ? I have studied the workaround that is done in dovecot ( http://wiki.dovecot.org/Clients) : - in the first release it implements the behaviour described in the UW IMAP's FAQ - since the version 1.1 it is a simple heartbeat that maintains the IMAP connexion. The second solution seems to be less impactant regarding IMAP clients. But doesn't resolve the lost of connexion after a server restart. I have ported the Dovecot's workaround in Cyrus 2.4.6. The workaround is done on the backend side and on the proxy side when IDLE is disabled on the backend. Sébastien
outlook_workaround.patch
Description: Binary data