imapsync is a tool for facilitating incremental recursive IMAP transfers
from one mailbox to another. It is useful for mailbox migration, 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.
from Pierre-Emmanuel Andre <pea at raveland dot org> with some tweaks