So how did I go about doing it? Let me tell you...
Step 1: Rationalize E-mails
I had almost 2GB of e-mail data and many thousands of e-mail messages in my Thunderbird Profile. I knew a lot of that was crap, redundant, and no longer needed so the first thing I did was whittle this down to about half a gigabyte of data and under 10k of e-mails.
The cool thing with Thunderbird is that you can sort your e-mails by attachment. That made it easy to find messages with big attachments and then either get rid the attachments while retaining the text or delete the e-mails outright.
I also deleted tonnes of other e-mails that I knew I wouldn't need in the future. Indeed, as you may have gathered, I was brutal in my deletion criteria.
[Related post: Creating a new E-mail Taxonomy]
Step 2: Rationalize Contacts
Next, I exported all my contacts from Yahoo! Mail and Orkut and imported them into Thunderbird, which is my central contacts repository (I even have my old Outlook contacts in here) and is the easiest to mess around with. I then went through that list: updating, removing duplicates, and deleting old contacts.
I also went through my list of Facebook friends and, for those who weren't already in my address book (only 3 or 4 of them), I added their e-mail information as well.
I then exported that updated list into a CSV file. This file I imported into Gmail. For the heck of it -- and to test how well it worked -- I also imported that file into my Yahoo! Mail and Hotmail accounts. It worked just fine.
Step 3: Upload
Uploading thousands of e-mails to Gmail isn't easy. There are two things you have to watch out for: First, it's safer to upload e-mails (i.e. drag them from a local folder into a Gmail IMAP folder) in smaller batch sizes: ideally under 30 e-mails at a time. Second, don't start uploading the next batch immediately after the first one has finished uploading: give it a few seconds. Why? Because the Gmail IMAP system has spam-blocking and load-controlling algorithms built into it. If you flood it with e-mail uploads -- either too many or too fast -- it locks you out for a short period of time, which is a real pain.
All of this makes uploading e-mails a long and somewhat tedious process though it's not the end of the world. In fact, I did most of it in the background, which made it quite easy to do: I'd be working on other stuff and, every few minutes or so, I'd Alt-Tab to Thunderbird and upload another batch.
Step 4: Use
Now comes the fun part: actually using the new system (which I described in an earlier blog post). I now access all my e-mail either through Thunderbird (via IMAP) or a web browser (usually Firefox). Meanwhile, I've stopped Thunderbird from automatically checking my POP accounts. Instead, all those are POP-ed directly into Gmail, which has the additional benefit of drastically reducing the spam I get.
I still use Thunderbird when sending messages from my MBS account since I use a different e-mail signature for that but, otherwise, I've found it easier to move entirely to using Gmail's web interface. Not having both an e-mail client and browser open all the time also consumes significantly fewer computing resources which, on my ancient laptop, is a real blessing.
What I do lose from not using an e-mail client are the event reminder pop-ups that I used get but I've found a workaround for that: I've configured my Google Calendar to send me a notification via e-mail and I've installed Gmail Notifier so I get a pop-up when that notification e-mail arrives. It's not quite the same thing but, like I said, it's a workaround.
All in all, I am very happy with my decision to move to Gmail and the way in which everything has worked out so far. Here's hoping things continue to go this well in the future.
Oh, one last thing: When I do get a new laptop (tablet PC, actually), I might start using an e-mail client again. What I'll do then is configure IMAP to maintain offline (i.e. local) copies of all my Gmail folders. That way, I'll get the best of both worlds: e-mails available locally and in the cloud, both always synchronized. Also, you can never have too many backups, can you? :)