[Dovecot] Smart IMAP proxying with imapc storage

Timo Sirainen tss at iki.fi
Fri Jan 28 20:17:03 EET 2011


On Sun, 2011-01-16 at 18:18 +0200, Timo Sirainen wrote:

> I just committed a very early initial implementation of "imapc" storage
> backend to v2.1 hg: http://hg.dovecot.org/dovecot-2.1 

This is "fully functional" now, at least in theory. TODO:

 * SSL/TLS support to remote server
 * Don't read entire message bodies into a string in memory
 * Fetch more than one message at a time when it's known that more
messages are going to be fetched
 * Support locally stored indexes
 * Error handling could be better
 * Eventually make lib-storage API more asynchronous -> make imapc more
asynchronous

Some potential (future) uses for imapc include:

 * Locally caching IMAP proxy
  * Maybe even fully transparent proxy to client, so at office it would
be using Dovecot proxy while at home it would connect directly to remote
server. (A bit tricky with SSL connections, but possible I'd think.)
 * Filtering proxy that modifies messages on the fly
 * Fixing Exchange's (and everyone else's) IMAP support by being in
front of it
 * Could be used for sharing mailboxes across multiple Dovecot servers
without shared storage
 * Easy "perfect migration" from any IMAP server to Dovecot with dsync




More information about the dovecot mailing list