If the existing service doesn’t want to use matrix IDs and insists on using email, then there is a matrix-email bridge (postmoogle). If the matrix server has that installed, it will be communicating with email and the service won’t have to do anything. Of course, it doesn’t make the communication more secure.
The service could also host their own matrix server with postmoogle, send an email with some format to it and a bot on the matrix server then sends it to the matrix ID of the user, but that’s way more complicated than just adding some code to support communicating via the matrix protocol outright. I did it in about 50 lines (set up the client, create an encrypted chat room, send a message).


simplelogin provides email aliases? Using a matrix ID doesn’t solve spam issues. The service could be hacked and all matrix IDs leaked and it would be the same as your email address being leaked.
So, an equivalent service or feature would have to be created for matrix that allows users to generate aliases for use with different services.
rambling of other (non) solution
Ooor, users could sign up with room IDs! That would actually solve the problem. As user could create a private room, copy the ID into the signup form, and the service would send messages into the room. It could save the list of participants in the room, i.e your matrix ID though 🤔 So not really a solution.
Good question! Thank you for asking. This would indeed require a solution and aliases built into a matrix server would be the best option. Maybe… uh… @[email protected] as a matrix server developer could think of something?