I found the answer here, and it's a bit crazy:
https://forum.vivaldi.net/topic/26413/mailto-protocol/4
Also, don't muck about with the registry - I tried using another answer, and didn't get anywhere. The answer below works perfectly.
The relevant part is:
First, make sure custom handlers are allowed at
vivaldi://settings/handlers. [should be chrome://settings/handlers]
Then, close Vivaldi.
Use JSONEdit, to edit
"C:\Users\yourusername\AppData\Local\Vivaldi\User
Data\Default\Preferences".
Copy the following to the clipboard:
{
"enabled" : true,
"ignored_protocol_handlers" : [],
"registered_protocol_handlers" : [
{
"default" : true,
"protocol" : "mailto",
"url" : "https://inbox.google.com/?mailto=%s"
}
]
}
Right-click on the root node in the Preferences file in JSONEdit and
choose "Paste as child from clipboard". Then, rename the pasted object
to "custom_handlers" and save your changes. (This is assuming you
don't already have some custom handlers. If you do have some, you just
need to add to the registered_protocol_handlers array.
In Vivaldi, go to vivaldi://settings/handlers [should be chrome://settings/handlers], click the 3 dots to the
right of the inbox.google.com entry (that's now there) and choose "set
as default". Then you can go into Default Apps in Windows and set
Vivaldi as the default mail client. Then you should be good to go.
On a side, for Gmail (mail.google.com), it's:
navigator.registerProtocolHandler("mailto",
"https://mail.google.com/mail/?extsrc=mailto&url=%s",
"mail.google.com");