Sunday, February 18
self hosting: as off of gmail as i'm going to get
I sent out one of those “I have a new e-mail address” e-mails today. It felt strange because the whole idea that I might have a personal mail provider other than Google, let alone that I’d be changing from Gmail to something else, so clearly belongs to the past. The last time I can remember doing this was during George W. Bush’s second term in office.
Moving off of Gmail is an ongoing project, and probably will be for months or years, but I’m mentally filing it as kinda done. From here it’s just a matter of unsubscribing from mailing lists and commercial spam, and changing login credentials for several hundred accounts as it comes up.
An outline of my approach:
Archive most of my Gmail account to a local Maildir with OfflineIMAP. In my case this came to 6.4 gigs of mail on drive, and around 250000 messages. This took hours and failed a few times along the way to completion. The vast majority of this mail should probably be discarded, but this way I can do it at my leisure.
Set up notmuch for searching local archive Maildirs. This allows for a fulltext search of messages from the commandline. I’m not totally sold on it, but it’s better than nothing.
Delete all mail stored in Gmail. This took a couple of hours, because the process is to select everything in All Mail, delete, get locked out of the account for 5-10 minutes, and repeat until everything is gone. It’s glitchy, but it seems like on average you can delete about 10000 conversations at a time. “Delete” actually moves stuff to the trash, and you can then empty the trash with a little dialog counting down how many messages are left to be actually deleted. I’m pretty sure this all could have been scripted by way of some API, but life is short and in this case some repetitive clicking was easier than reading API docs for something I wish didn’t exist anyway.
Delete all labels and all filters in Gmail. Filters can be exported as an XML file in some kind of Atom-derived format, which I went ahead and did because I figured having a master list of the labels would be useful later on for search purposes. There’s a way to select all filters and hit a button to delete. Deleting the labels could probably be scripted somehow or another, but through the web interface it’s a matter of a bunch of horrible clicking.
Configure Evolution as a primary client, pointed both at the old Gmail account and the new Fastmail one. Evolution can be clunky, but it’s easy enough to use and has features for stuff like calendaring and contact lists, so I can use it to slowly pry that stuff out of Google’s clutches. (Thanks, people who make Evolution. I may not be in your target “person who needs to replace Outlook” demographic, but I truly appreciate your hard work all the same.)
I thought about just forwarding the Gmail address to the new one, but it seems better to keep a clean separation between the two. This way, incoming Gmail can double as a to-do list for places I still need to update the address.
Addendum: The build of Evolution I have installed (probably ancient, because I’m on Debian stable) was displaying some weird behavior — marking stuff as Junk / moving to Spam folders and then making it impossible to mark non-Junk or permanently move back to the Inbox. It took me a while to realize that there’s a built-in spam filter (Preferences → Mail Preferences → Junk → Check incoming messages for junk) that’s turned on by default and gets a ton of false positives, at least without training. Even when turned off, I couldn’t seem to get those messages permanently out of the Spam folder, so I decided to give Thunderbird a shot.
Thunderbird also has a builtin spam filter that has to be disabled on a per-account basis (right click on an account → Settings → Junk Settings → Enable adaptive junk mail controls for this account). It otherwise feels less flaky than Evolution, and glitches less over IMAP for me, though it will occasionally hang for a while on large folders.
In general, I feel like the state of desktop GUI e-mail clients is less than great. My next move is probably to give Mutt another shot.
I should fill out the above with specific configuration details for some stuff, but I wanted to get some notes down while I was thinking about it.