101

I'm on OS X el Capitan (10.11.6).

I use Outlook to access my email and would like outlook to be the default mail application. All the instructions I find online suggest that I should open mail and choose "Mail -> Preferences" to set the default mail app.

Unfortunately, Preferences is greyed out until an account is added. I don't have another account that I want to add to my Mac.

Add Mail Account

How can I set the default mail client to Outlook without adding an account to the mail client?

1

11 Answers 11

34

Pre-Catalina
The simplest way to do this - which doesn't involve messing with Mail itself - is the old faithful RCDefaultApp

Post-Catalina
RCDefaultApp no longer works on modern macOS.
The new kid on the block is SwiftDefaultApps

This Preference pane is chiefly intended to be a modern replacement for the amazing RCDefaultApp developed way back when by Carl Lindberg, which stopped working in 10.12 due to deprecation of ObjC Garbage collection.

enter image description here

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


Old version, for pre-Catalina...

enter image description here

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 ;-)

6
  • Does this work with Mac OS X High Sierra? Aug 20, 2018 at 14:43
  • 1
    Yes, & still works on Mojave beta.
    – Tetsujin
    Aug 20, 2018 at 14:44
  • 1
    For anyone looking to use Gmail (inside of Firefox) as their default e-mail client, do this: 1) set your browser as the default application for e-mail; 2) Go to Firefox's preferences, look for mailto to find the relevant Applications preferences, there, select Use Gmail in the dropdown list. Dec 14, 2018 at 18:47
  • Yes & it works on GA Mojave (10.14.4) May 9, 2019 at 18:15
  • 1
    SwiftDefaultApps has superceded RCDefaultApp, see apple.stackexchange.com/a/400128 Aug 27, 2020 at 6:21
55

Update: Seems like Microsoft finally removed this tool. The suggested solution in their support documentation is

https://support.microsoft.com/en-us/office/set-an-account-as-the-default-in-outlook-for-mac-1a085d36-db97-4230-9a40-c332364426e0

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

3
  • I get a 404 from this URL now
    – Michael R
    May 20, 2022 at 21:41
  • 1
    Seems like Microsoft has finally removed it.. :( I'll edit the answer Jun 2, 2022 at 17:47
  • These steps only work if you've already setup a Mail account. I haven't, and would prefer not to get Mail crufted up with an account I have no intention of using. Frustrated at the Mac ... what's so hard with a 'default apps' icon in the control panel, er, system settings?
    – J. Gwinner
    Oct 3, 2023 at 21:45
22

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.

5
  • 3
    Works fine on Mojave. May 15, 2019 at 11:18
  • 1
    I like this the best because (a) it does not require installing any additional software, and (b) I tend to like any solutions that use Python :-D
    – Steve
    Dec 9, 2020 at 18:21
  • Is there not a simple system properties text file somewhere we can just open in whatever editor for this? I get using an official api is nice, but I figure it's just serialized down to a simple utf8 key-value string in some file... Jun 8, 2021 at 14:55
  • Thanks! Works to set Mimestream with com.mimestream.Mimestream.
    – James
    Sep 1, 2022 at 5:03
  • 1
    No longer works on MacOS 12.0+. LSSetDefaultHandlerForURLScheme was deprecated & removed. developer.apple.com/documentation/coreservices/…
    – AnthonyW
    Feb 17, 2023 at 1:29
22

If you don't want to install any third-party apps, one solution is to just add a junk mail account:

enter image description here

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.

4
  • 8
    In my opinion this is the easiest/best answer. I was able to add the account, access the preferences menu, and then delete the account without using a true email, downloading any third party apps, or messing with the command line or settings.
    – Billy
    Jan 15, 2022 at 21:34
  • 6
    Outrageous the hoops we need to jump through to get access to what should be a simple system preference. Sep 21, 2022 at 14:14
  • I heartily agree with both of you. Can't upvote this enough. I'd gripe about the capabilities and ease of use of Mac software, but I'm not wearing my fire proof gear.
    – J. Gwinner
    Oct 6, 2023 at 21:06
  • Good answer :) But honestly, how shitty is hiding this setting so weirdly, Apple!?
    – F1iX
    yesterday
14

SwiftDefaultApps seems to have superceded RCDefaultApp, which stopped working due to OSX changes, and the domain is down too.

brew install --cask swiftdefaultappsprefpane
0
3

The easiest solution is to use MSFT Mail Changer app for Mac.

You can download it from the page at this link.

https://docs.microsoft.com/en-us/outlook/troubleshoot/outlook-for-mac/useful-tools#setdefaultmailapp

Just download the .app file, no install, it gives you a list of registered mail clients, you pick one and done.

My company security (JAMF policy) blocks access to even open apple mail but didn't make this change so none of the share file commands from Word, Excel, or PPT would work. This app does the trick.

0
3

This answer works without any third party software. Solution tested on MacOS 12.6.1.

Place the code below in a Swift file. Replace the mailApp url with the path to your preferred mail application.

// DefaultMailSwitcher.swift
import Cocoa
let mailApp = URL(fileURLWithPath: "/Applications/Microsoft Outlook.app")
NSWorkspace.shared.setDefaultApplication(at: mailApp, toOpenURLsWithScheme: "mailto")

Then run from terminal with administrative privileges, without admin the command will silently fail even with a closure.

$ sudo swift DefaultMailSwitcher.swift

Confirm programmatically by running the code below from another swift file or clicking a "mailto" link.

print("After: ",NSWorkspace.shared.urlForApplication(toOpen: URL(string: "mailto:[email protected]")!))
2

Sometimes, even after setting Outlook as default mail client in Apple Mail - with an account you remove afterwards - (how could Apple ever think this is a good place to stick this setting) it does not stick.

Just to be sure, after setting the pref in Mail, run this through Terminal:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/\
  LaunchServices.framework/Versions/A/Support/lsregister -kill -r -all local,system,user
2
  • 3
    Honestly, putting the setting there seems like an evil monopoly move to me... force people to setup the macOS Mail client before they're allowed to actually switch to using another mail client. It'd be like if Safari, Internet Explorer, or Edge required you to sign into some accounts, give it some credentials, and set up some bookmarks and a homepage before it would let you set Chrome or Firefox as the default browser. If using native mail clients on a computer wasn't so odd (everyone just uses gmail or other webmail it seems), we'd see antitrust lawsuits over this... Jun 8, 2021 at 14:50
  • @ArtOfWarfare It's so true - if Microsoft did this, they'd be in court.
    – J. Gwinner
    Oct 3, 2023 at 22:29
2

I know it's an old question, but I needed to do the same, possibly from command-line, and I found a solution.

You will need Homebrew, which can be installed with:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Then, you will need duti, which is available through Brew:

brew install duti

Now, we need to find out the name of the mail application you want to set as default, we can do that running the following command (change Airmail with your desired mail client):

mdls -name kMDItemCFBundleIdentifier -r /Applications/Airmail\ 3.app
# this will return "it.bloop.airmail2"

Now, we can set our desired app as default mail client with:

duti -s it.bloop.airmail2 mailto

That's it!

0
1

This was funky for me, but I had to modify a code block noted above. Steps I had to take to make this work (hoping it helps someone)

  1. Open Terminal

  2. Install launchservices newest module

  3. Switch to Python (this is for 3+ due to launch services being I had to modify for CoreServices)

    import CoreServices;
    result = CoreServices.LSSetDefaultHandlerForURLScheme(
        "mailto",
        "com.microsoft.Outlook")
    print("Result: %d (%s)" % (
        result,
        "Success" if result == 0 else "Error"))
    EOF```
    
    
  4. Reboot

  5. Open Mail.app and use all my Exchange info (tried using a bogus email/comp but it still tries to auth even when you use an "other mail option")

  6. In Preferences > General tab there's a default mail client, update to Outlook.
    (I tested mailto on the Mail app to ensure it registered. When it did I went ahead and swapped to Outlook)

  7. Test mailto

-3

Sometimes the easiest solutions stare us in the face and it's easy to overlook them. I get asked this regularly and the easiest way to do this is to just set up Apple Mail with your email account and then change the default email application to Outlook.

You don't have to use Apple Mail again after that. So, while you're technically still adding an account to Mail, you don't have to use it, or you can remove it after you've set the default to Outlook.

EDIT

I just wanted to add that in some cases, certain Apple software (e.g. Photos) have their own settings for which email client to use when sharing content. So you will need to select Outlook as the default within these Apps as well if you want to share content via email.

4
  • 12
    This doesn't answer the question since it requires adding an account. What I would like to know is where the internal setting is in OSX to get control over this without the requirement of adding an account. BTW, my comment explains how to do the same thing without needing a "real" account. Nov 21, 2016 at 22:01
  • Ah, I didn't pick up on your comment while adding my answer. For future reference it's better to edit your question to provide additional context, rather than adding a comment. I do realise you asked how to change the default without adding an account to the mail client, hence my answer stating you didn't have to use Mail afterwards (or even keep the account in it) after changing the default. Now that I've read your comment, is the reason you're asking this because you're having trouble making sure the change 'sticks' by using this option? If so there is a potential fix for this.
    – Monomeeth
    Nov 21, 2016 at 22:37
  • 1
    It also won't let you add an account without downloading all your email. Because of the way Mail treats labels (as folders) it would take about 100 GB to retrieve my email. Oct 30, 2020 at 19:03
  • @Monomeeth SExch can be brutal. I didn't downvote you, but wanted to agree with Sherwood that adding an account just to delete it for some people may not be workable due to the size of some mail accounts.
    – J. Gwinner
    Oct 6, 2023 at 21:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .