I just got an idea:
The hard part about setting up your own email server is, by far, ensuring deliverability. New/dynamic addresses tend to not be trusted by other mail servers, so that is really the most "dangerous"/time consuming part. So, why not do the following?:
* Set up your home server to accept email. If it goes down for a few hours, hey, pretty much every mail server will retry for a few days, so you're pretty much guaranteed to get all messages.
* Set up your home mail server to use something like Mailgun or Mandrill to actually send messages. I'm using Mailgun and they have a fantastic interface, giving me a checklist of things I need to do to be able to send emails with pretty much guaranteed deliverability (DomainKeys, SPF, etc).
This would both allow you to receive mail on any domain you wanted, keep your email safe from the NSA/whoever (you can make your home server TLS-only) and ensure that you can send email from any domain you own with great deliverability. Plus, it's free (unless you hit Mailgun's 10k mails/month limit, which is pretty unlikely).
This could pretty much be a Docker image, so setting it up would just be a "docker run some/image". I have various domains, and right now using Gmail is a pain in the ass because I can't change my primary domain. I have to keep my Google identity tied to my 10-year-old email address even though I never use it any more.
I'd lose spam filtering and search, but eh, there are good spam filters around.