I would like to register my program to handle the mailto protocol.

I have seen these answers

I tried adding a new key or modifying the existing key at this path: HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\URLAssociations\MAILTO\Userchoice.

Additionally, I added my program to to the HKCR root, but that did not make my program appear in the select list.

Also, for testing purposes, I tried changing the classname value of the mailto key at this path: HKEY_CURRENT_USER\SOFTWARE\Clients\StartMenuInternet\GoogleChrome\Capabilities\ URLAssociations to the classname of my program. This actually worked, but instead of hacking into Google Chrome, I’d rather add my own registry key.

How can I add my program as a legitimate handler for the mailto protocol?


Here is a sample mail client registration - To register with Default Programs / modern Default Apps. You can modify it accordingly, leaving out non-essential parts.

Windows Registry Editor Version 5.00


;Clients Key (The path mentioned for MyMail in RegisterdApplications key)

"ApplicationDescription"="Superfast, Light-weight Mail Client for Windows"




;Then create handlers for MyMail.eml, MyMail.nws, MyMail.mailto as referenced above

;EML File Type Handler
@="MyMail EML Handler"

@="\"C:\\Program Files\\Windows Mail\\WinMail.exe\" -eml \"%1\""

;NWS File Type Handler
@="MyMail NEWS Handler"

@="\"C:\\Program Files\\Windows Mail\\WinMail.exe\" -news \"%1\""

;MAILTO Protocol Handler
@="MyMail MAILTO Handler"

@="\"C:\\Program Files\\Windows Mail\\WinMail.exe\" -mailto \"%1\""

I've uploaded the same in this Pastebin link.

For official documentation, refer Default Programs Registration at MSDN. Although the docs state it's not valid for Windows 10, it certainly applies (and works perfectly) in Windows 10. The registration part hasn't changed a bit in Windows 10.

Also, see: Windows 10 program default settings - Microsoft Community


mailto links didn't work with this registry patch. So I modified this line:

@="\"C:\\Program Files\\Windows Mail\\WinMail.exe\" -mailto \"%1\""

into this

@="\"C:\\Program Files\\Windows Mail\\WinMail.exe\" /mailurl:\"%1\""

Then, to associate all protocols to Windows Mail, I opened Control Panel > Predefined programs > Set predefined programs and made necessary changes.

  • As it is worded currently, this should be a comment to the other answer and not an answer of its own, but of course you'd need some additional bit of reputation for that... – zagrimsan Aug 8 '16 at 10:01
  • One more note: when I click on e-mail addresses in Firefox, no new message window appears, but there's a workaround for this too: Create a batch file like this: @echo off "c:\program files\windows mail\winmail.exe" /mailurl:%1 Save this batch file as "WinmailFF.bat" inside for example "c:\program files (x86)\Mozilla Firefox" Go to Firefox,Tools,Options,Applications Search for "Mailto", select "Other", then select the batch file you created. If you don't find it, enter "*.bat" to show it in the folder. This should make "mailto:" links working in FF with WinMail&Win10 – Niente0 Oct 28 '16 at 12:56

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.