[Dovecot] IMAPC feature description

Gedalya gedalya at gedalya.net
Thu Jun 13 21:32:41 EEST 2013

On 06/13/2013 04:26 AM, Yonatan Broza wrote:
> Hi,
> I couldn't find any decent documentation about the IMAPC feature.
> Could someone please explain the purpose of this feature?
> In particular, what are the differences between IMAPC and reverse 
> proxying?
> Thanks.

imapc implements a storage engine for dovecot, so that you can say 
things like: mail_location = imapc:~/imapc
Your mailbox can be stored in maildir, mdbox, or imapc. This would 
typically be used for special purposes.

Regular proxying ultimately passes the connection on to the backend 
server and the client is talking to that server directly, given that 
server's implementation of the IMAP protocol. If you do proxying using 
imapc, the client is talking to dovecot, dovecot serves the mailbox out 
of this "storage engine" which in turn translates everything into 
commands issued against the backend IMAP server. This more complicated 
setup sometimes can solve problems when the client doesn't get along 
well with the backend server.


Since imapc can make a remote mailbox appear like a local dovecot 
mail_location, it can be very useful for migrating mailboxes from 
another server to dovecot. Using the pop3_migration (and maildir as the 
destination format) you can even preserve the pop3 UIDL order, so you 
basically made a perfect clone and clients should continue to work 
without noticing any difference whatsoever, whether they are using IMAP, 
POP3 or both.


More information about the dovecot mailing list