imapsync

imapsync is a tool for facilitating incremental recursive IMAP transfers from one mailbox to another. It is useful for mailbox migration or backup, and reduces the amount of data transferred by only copying messages that are not present on both servers. Read, unread, and deleted flags are preserved, and the process can be stopped and resumed. The original messages can optionally be deleted after a successful transfer.

Last announcement

Recent releases

Release Notes: A new --search option was added, allowing you to select messages with the powerful IMAP SEARCH command. What can be done is selection by dates, any flag, From, Subject, body string, any Header, sizes, uids, etc. Bugs were fixed to better handle folder creation, so it's no longer a failure when a folder "already exists" during its creation. The way imapsync deals with headers was improved so that message duplicate issues are now rare. Reconnections are well done in TLS mode now. Many other small bugfixes and usability improvements were made. The default behavior is now the best one for most cases.

Release Notes: This release adds better performance and reliability. A --usecache option speeds up transfers when using multiple runs by a factor of at least two. A --useuid can be used to speed up or deal with problems using headers (by avoiding duplicate transfers). The performance of --usecache when used with MS Exchange was improved. A 'not enough memory' issue with big messages was fixed by using the Mail-IMAPClient 3.27 Perl module. The license hasn't changed, but Imapsync is no longer gratis from the home page.

Release Notes: Several improvements to reach better usability. Authentication cram-md5 is not used by default (too few servers support it). Issues from servers changing or adding header are avoided. Now imapsync has a way to handle no header in messages efficiently. The IMAP server dkimap is supported (dkimap isn't a UID capable server). NTLM authentication with domain has been added. A --minsize option has been added to transfer messages bigger than a given size. Memory consumption measurement has been added to compute how many concurrent imapsync processes can run in parallel on a system. Imapsync is no longer gratis from the home page.

Release Notes: This release adds TLSv1 support, new release checking, a --noreleasecheck option, and reconnect behavior. It removes the Date::Manip dependency.
It is more efficient with large mailboxes. Duplicate messages on host2 are now deleted with --delete2.
--skipsize is turned on by default. --debugimap1 and --debugimap2 have been added to permit IMAP output with only one host. Statistics have been added on average bandwidth rate and messages deleted.
Flags are now exactly synced from host1 to host2
Filter flags sync with the list given by PERMANENTFLAGS on --host2.

What 'dfens' has said appears to be incorrect. imapsync is under the WTFPL as per http://www.linux-france.org/prj/imapsync/COPYING - this license is listed on http://www.gnu.org/licenses/license-list.html as "... a free software license, very permissive and GPL-compatible." , and mentioned on http://www.opensource.org/minutes20090304 as "no different from dedication to the public domain". The author happens to require payment if you want a copy of the latest code FROM HIS SITE, but the terms of his license allow further redistribution (such as from rot13 uggcf://srqbenubfgrq.bet/eryrnfrq/vzncflap/ :)