Set default mail client in macOS without adding an email account?
The simplest way to do this - which doesn't involve messing with Mail itself - is the old faithful RCDefaultApp
Yes it's ancient; yes it still works; yes it's free.
It installs as a control panel from where you can set defaults for just about anything on the machine... including Mail.
Simply select from a drop menu
If you want to have a poke at the other sections, note it can take some time to build the apps/services list; don't think it's hung, it's just thinking ;-)
I finally found something easy that worked, the SetDefaultMailApp from Microsoft:
https://docs.microsoft.com/en-us/outlook/troubleshoot/outlook-for-mac/useful-tools#setdefaultmailapp
You can use the system-installed Python interpreter to quickly change the default mail app.
Copy/paste the following command into Terminal, replacing com.microsoft.Outlook
with the application bundle identifier for your mail app. Outlook's bundle identifier is com.microsoft.Outlook
.
/usr/bin/python2.7 <<EOF
import LaunchServices;
result = LaunchServices.LSSetDefaultHandlerForURLScheme(
"mailto",
"com.microsoft.Outlook")
print("Result: %d (%s)" % (
result,
"Success" if result == 0 else "Error"))
EOF
If you're not sure what the bundle identifier is for your mail app, run osascript -e 'id of app "Some App Name"'
to find it. For example, osascript -e 'id of app "Mail"'
returns com.apple.mail
.
SwiftDefaultApps seems to have superceded RCDefaultApp, which stopped working due to OSX changes, and the domain is down too.
brew install --cask swiftdefaultappsprefpane
If you don't want to install any third-party apps, one solution is to just add a junk mail account:
It will first try to connect for about a minute and fail. But afterwards you can click on "Sign in" again and it will close the accounts dialog, allowing you to change the Preferences.