Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

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 6 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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .