Office 365 mailto: Link Handler

Clicking a mailto: link will allow the user to select whether they want to use Outlook on the Web or the full blown Outlook.EXE client

I’ve been looking for a way to get mailto: links in websites open in Office 365 (Outlook Web) rather than the full Outlook client – as we have Outlook installed on our network, but unconfigured as everybody uses the web version.
I wrote something about 10 years ago which did this when we had a local Exchange box, although it’s since been lost as it no longer worked when we updated from Exchange 2003 to Exchange 2007. I’ve since written a new one which works with Office 365!

Selecting Outlook 365 will load Outlook Web at the “compose mail” screen, with the recipient/subject/body filled out as per the original mailto link. It will also fill out the “realm=” parameter of the URL (which is taken from the logged on user’s UserPrincipalName – which is the same as their Office 365 logon ID when directory syncing is enabled)

Selecting Outlook Client will open the New Mail window on the locally installed Outlook client, again with the recipient/subject/body filled out.
The setting selected is saved to an XML file in the user’s %APPDATA%. All the text elements can be customised via config.xml stored in the program’s Program Files directory.

The installer is an MSI so can easily be rolled out by group policy. You will then need to set the default mailto program on Windows 10. I do this with a Group Policy Preference to copy a central OEMDefaultAssociations.xml file onto each PC, as this also contains default media player etc for my systems. The file should be located in C:\Windows\system32\OEMDefaultAssociations.xml:

<Association Identifier="mailto" ProgId="MailtoHandler.mailto" ApplicationName="MailtoHandler" />

The installer can be downloaded here: and the source can be found on my GitHub Repository.

Updated to fix bug with Edge Chromium 13/11/2020