Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have to move many, many emails (over a thousand) from an old IMAP hosting provider to a new IMAP hosting provider. I know I can just set up the old and new accounts in Thunderbird and drag and drop, but it's very slow and keeps timing out. Is there a better, more automated way to copy all messages (and all mailboxes) between IMAP servers?

share|improve this question
up vote 5 down vote accepted

There are couple of options you could try:

share|improve this answer
Google apps Migration is a good tool, specially with Google Products! – JDuarteDJ Jan 25 at 12:43
Wit Google Apps Also note that you are required to set up authorization with a new "console" project in Google. – JDuarteDJ Jan 26 at 11:34

IMAPSync is the tool your looking for. IMAPSync

In the FAQ there are plenty of good examples

share|improve this answer
On linux, it's also packaged in many distributions. – ETL Sep 28 '15 at 18:33
Asks for payment now :( – JDuarteDJ Jan 25 at 12:38

OfflineIMAP is another option (

share|improve this answer
I didn't know it could do synchronisation too, but it does, and seems stable. Good idea! – qris Mar 6 '14 at 10:24
Needs cygwin :( and python :( – JDuarteDJ Jan 25 at 12:41
@JDuarteDJ: Did you downvote for the reasons you mention!? Given the question puts no restrictions on such things, that would be highly inappropriate. – equaeghe Jan 25 at 21:08
@equaeghe I'm sorry that you find it inappropriate. I find that from the question one can understand that the solution should be as simple and direct as possible. I will give you the fact that no OS is mentioned so if one should consider a linux OS these limitations don't apply, I can't take it back but given this I would if I could. – JDuarteDJ Jan 26 at 11:39

Use the reliable Mutt (

  1. mutt -f imap://username@sourceimaphost/INBOX/folder
  2. Tag selected messages by t, or tag all messages by T and entering ~A. (With T, you can specify various patterns (
  3. Move tagged messages by ;s("save") and enter imap://username@destimaphost/INBOX/folder. (This marks the source messages as deleted(D); if you don't want that, use ;C("copy") instead.)
  4. You can repeat 2 and 3 as needed.
  5. Quit by q. You may choose to purge the deleted messages.

This allows to move a folder from one account to another. Repeat this for multiple folders.

share|improve this answer
You can also use imaps: instead of imap:. If the username part already contains a @ (e.g. as in Google Apps), replace it with %40. Example: imaps:// – musiphil Aug 19 '15 at 20:41
Has a windows Version (no cygwin) but it is limted. – JDuarteDJ Jan 25 at 12:42

Originally we wrote this article on email migration issues:

The article is pretty old, but after many years of occasional bulk migrations from IMAP into Exchange / IMAP it's OpenSource solutions that worked the best, like this one:

share|improve this answer
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From Review – sammyg Mar 13 at 12:58

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.