I have several Gmail accounts for various reasons. Occasionally I have the need to transfer emails between the accounts. The only way to transfer just some email between Gmail accounts is to use a desktop email client, like Thunderbird, Evolution, or KMail. Unfortunately, the process isn’t all that straightforward and can be quite confusing at times. I prefer using Thunderbird for transferring emails between Gmail accounts, so I’m going to show how to do this using Thunderbird.
To begin with, you need to enable IMAP support in your Gmail accounts. You can see how to do that here.
Next, you need to set up at least two Gmail accounts in Thunderbird (I’m assuming you have it installed, if not, install it). Thunderbird now makes this very straightforward. When you first open Thunderbird, it will ask you to set up an account. You can fill in your username and password at that time or do it later. If you need to set it up later, you click on File -> New -> Existing Mail Account:
You’ll get this window.
Fill in your information and Thunderbird will take care of the rest.
Once you’ve got your accounts set up in Thunderbird, you need to let Thunderbird download the emails in the various accounts before you can start transferring. To get this process started, click on “All Mail” in each of the accounts you are using and Thunderbird will start downloading the relevant data it needs to manage the emails.
Depending on how many emails you have, this may take a while. Go get a snack or read a book.
Once Thunderbird has downloaded all the emails, you can begin transferring the emails between accounts. However, here’s where things get tricky. I’ve fiddled around with lots of different ways to make the transfer work, and the only one that seems to reliably work is weird.
First, open the Gmail account you are transferring files from [Gmail Account #1] in a browser (not in Thunderbird) and empty your trash.
Don’t try to empty your trash in Thunderbird as it doesn’t do anything. And you really want your trash empty for what we are about to do.
[NOTE: Scroll down to the section on the Large Email Problem before you continue. No, really, go read that section right now as it will save you a lot of time later.]
Now, go back to Thunderbird. Select the emails you want to move in [Gmail Account #1] and, I know this is a little scary but, drag them to the trash in Thunderbird.
Once you drag them to the trash, they will no longer show up in All Mail, but they are not deleted, they are just in the trash (they have been labeled with the tag “trash”). Once they are in the trash, select all the ones you want to move and drag them to the All Mail folder in the receiving account – [Gmail Account #2].
In the bottom bar in Thunderbird you’ll see a status update which will tell you how many files have transferred.
Once they have copied, you can check to see if they are in the receiving account [Gmail Account #2] by opening that account in a browser and using the search function to find those emails. Once you’re positive that they have transferred, you can then go back to [Gmail Account #1] in your browser, open your trash, and empty your trash. The emails are now in [Gmail Account #2] and are no longer in [Gmail Account #1].
Success!
Well, sort of. There are a couple of issues you may run into. First, it’s probably not a good idea to try transferring more than a few hundred to maybe a 1,000 emails at a time as the Gmail accounts have some limits on things like this. Also, emails that are larger than about 5mb in size won’t transfer. I don’t know why, but they won’t. There are some other things you need to know before you try the above as well…
How to solve the Large Email Problem
There is a problem transferring large emails using this process. The problem is attachments that are above 5mb in size won’t transfer between the accounts. So, you can either forward those emails manually or delete the attachments. Here’s how you find the attachments in Thunderbird:
Click on Tools -> Message Filters.
Once the Message Filters window comes up, click on New.
You’ll then get a new window, the Filter Rules window. You need to name your Filter. I called mine “large attachments.” You’ll also need to indicate when you want the filter to run. I set mine to manual only (see screenshot below).
Next are the filter rules. What we’re looking for are attachments that are above 5mb in size. Here’s how I set up my filter. I wanted Thunderbird to first find all the emails that have attachments, so I added the following filter (note, this is probably unnecessary as the second filter will find these anyway):
Attachment Status = is = Has Attachments
I then wanted only emails that were above a certain size. Since the offending emails are 5mb in size, I looked for all emails above 4000KB in size with the following filter:
Size (KB) = is greater than = 4000
Finally, I was interested in emails from just a specific date range, so I used a filter to only select emails before a certain date:
Date = is before = 01/01/2011
With the filter options in place, we need to tell the filter what to do with the emails that fit the criteria. I tagged them with a tag I don’t use for anything else using the following in the “Perform these actions:” section of the Filter Rules window:
Tag Message = Later
Once you’ve got your filter set up, select OK. You can then close the Message Filters window. When you’re ready to run the filter, go back up to Tools -> Run Filters on Folder:
The filter will run and tag all the offending emails. Then, from the top of Thunderbird, you can do a quick filter on the emails that you have in that folder by selecting on the “Tags” option and all the offending emails will filtered:
You can then decide if you want to delete the emails or forward them directly to the other gmail account (which means the date will be changed to the current date rather than keeping the original date, which bugs me). Alternatively, you can just delete the attachment, which is done at the very bottom of Thunderbird:
NOTE: If you delete the attachment in Thunderbird, it doesn’t actually end up deleting the email. It creates a copy without the attachment but leaves the email with the attachment. You’ll then need to delete the email with the attachment before you transfer the files.