Set Default mail App Outlook

Contributor III

Does anyone know know if there is a custom config / plist way to set the default mail app to outlook?

I know there is a microsoft support tool whcih can do it, but requires user interaction. ive found some old methods with mcx's which no longer work and some bash scripts using duti.

Iam just trying to see if there is a easier / better way to do it via config profile on monterey ?


Valued Contributor II

I don't think MailToOutlook 2.0 requires any user interaction.


Install it once per user per computer at login.

Legendary Contributor III

Use the MailToOutlook 2.0 tool located here:

It's a package installer, so no user interaction required. However, I forgot now if it only does the change for the logged in user, or globally for all users. Not 100% sure on that last bit.

Contributor II

With python no longer ubiquitous, has anyone any experience setting other protocols such as http(s) and Edge?

Contributor III

Thank you @cbrewer & @mm2270 i will give the app a go. Normally i prefer to apply settings directly, and not via apps, but there doesnt seem to be a easy way to do this.

Contributor III

The venerable SwiftDefaultApps appears to still work fine on Intel and Monterey (12.2.1).  No python required.

Contributor II

@pete_c Thanks for the recommendation of SwiftDefaultApps

Though I finally found this article:  I didn't find many examples of how to use it so I thought I would write this up quickly here.

It's not the most intuitive CLI I've ever used 😗 but it works great & the help is good once you understand there are multiple pages (somewhat like the jamf binary...)

Just calling the binary gets you this:


% swda
Utility to retrieve and manipulate default applications in macOS.

Available commands: 
- getHandler                              Returns the default application registered for the URI Scheme or <subtype> you specify.
- getApps                                 Returns a list of all registered applications.
- getSchemes                              Returns a list of all known URI schemes, accompanied by their default handler.
- getUTIs                                 Returns a list of all known UTIs, and their default handler.
- setHandler                              Sets <application> as the default handler for a given <type>/<subtype> combination.
- help                                    Prints this help information
- version                                 Prints the current version of this app


To get help on the "Available commands" that have additional options do this:


% swda getHandler  
Usage: swda getHandler <type> [options]

--URL <subtype>                         Return the default application for <subtype>
--UTI <subtype>                         Return the default application for <subtype>
--ftp                                   Returns the default FTP client.
--internet, --browser, --web            Returns the default web browser.
--mail, --email, --e-mail               Returns the default e-mail client.
--news                                  Returns the default news client.
--rss                                   Returns the default RSS client.

--all                                   When this flag is added, a list of all applications registered for that content will printed.
--role <role>                           --role <Viewer|Editor|Shell|All>, specifies the role with which to register the handler. Default is All.
-h, --help                              Show help information for this command

Missing options:
<type>:                                 --UTI, --URL, --internet, --browser, --web, --mail, --email, --e-mail, --ftp, --rss, --news


The script I ended up using it in:



# the swda binary is the CLI for SwiftDefaultApps
# this binary allows an app (i.e., "handler") to be assigned to any available file extension

/bin/chmod 755 '/usr/local/bin/swda'
/usr/bin/xattr -c '/usr/local/bin/swda'
/usr/sbin/chown 0:0 '/usr/local/bin/swda'

# sets Handler (application) for .ics files (which defaults to Apple Calendar) to Microsoft Outlook

/usr/local/bin/swda setHandler --app '/Applications/Microsoft' --UTI ''; /bin/sleep 1
/usr/local/bin/swda setHandler --app '/Applications/Microsoft' --UTI ''; /bin/sleep 1
/usr/local/bin/swda setHandler --app '/Applications/Microsoft' --UTI ''; /bin/sleep 1

# check settings

/usr/local/bin/swda getHandler --UTI ''; /bin/sleep 1
/usr/local/bin/swda getHandler --UTI ''; /bin/sleep 1
/usr/local/bin/swda getHandler --UTI ''; /bin/sleep 1