With the help of Waves Oracles can be accessed from the blockchain to the outside world.
My Oracle, Waves Identity, allows you to check the user’s email from any smart contract. To do this, call the InvokeScript function with the oracle address and send the user’s email to it.
The server part of the oracle reads every minute requests for checking email addresses. When a new request is received, the oracle creates a unique code for the email, sends it to the mail and to the blockchain (in encrypted form).
After receiving the letter, the owner of the email can enter the received code and send it to the oracle. The smart contract of the oracle checks whether the code is correct and, if successful, writes the confirmation to the blockchain.
Further, we can use confirmed email data for our purposes. For example, you can send WAVES to email addresses.
The demo version of my solution is available online. All transactions are sent via testnet. For the application to work, you need to know the seed phrase and the public key from your wallet. In the future, this application can work through Waves Keeper.