OSX 10.11.1 El Capitan, Changing the Default Mail Client
January 2017 update
On a fresh installation of macOS Sierra, changing the default mail client was significantly less painful! I launched "Apple Mail" added an account, from "Apple Mail" preferences I was able to simply change the default mail client, this appears to have made the change without issue.
August 2016 update
Please take a look at the comments before embarking on the fix detailed below. In later releases of OSX 10.11 the procedure may be more simple than the steps I took with 10.11.1
Original Article
Intended Audience: Anybody struggling to change the default OSX Mail Client under El Capitan
Resolution: Go into System Preferences > iCloud - sign out!
Restart your Mac
Launch "Apple Mail" > Preferences > General - Change the default mail client
Exit "Apple Mail"Sign back into iCloud!
Back Story
I wanted to quickly share a tweet from Tweetbot to a friend by email, I was surprised when "Apple Mail" launched and asked me to setup an email account, I do not use "Apple Mail" I was using Airmail as my primary email client at the time.
What should have been a quick change of settings turned into a 10 minute battle with El Capitan to change the default mail client!
Googling revealed that I needed to make this change under "Apple Mail" > Preferences, rather than System Preferences. This was not a problem, although I did have to create an account within "Apple Mail" before the preferences pane became accessible. This done, the field that needed changing was obvious, Preferences > General > Default email reader
I made the change, closed "Apple Mail" and tried again!
...
"Apple Mail" launched !?
I tested an email link from a website to check that this was a system wide rather than an issue specific to Tweetbox. "Apple Mail" launched again!
I checked the default mail client setting within "Apple Mail" preferences, it had reset back to "Apple Mail".
I set the default email reader to be Airmail a second time. Exited "Apple Mail", then I relaunched Apple Mail but it had returned Apple Mail.
...
This was resolved by signing out of iCloud in System Preferences > iCloud, restarting OSX, after this I was able to change the default email client.