For such normal use case, I use Amazon SES as my transactional email sender.
They deliver bounce reports in various channel (including HTTP) via their SNS service.
See more info about it here:
https://aws.amazon.com/blogs/messaging-and-targeting/handling-bounces-and-complaints/
Once you got the bounce report, which contains the email address, you'll know that the email does not exist.
This works great in every project I encountered so far. It has a little acceptable limitation though, you can't tell unless you try sending an email.
If you design your application in a way that users can resend confirmation emails. You'll able to provide a nice and friendly notice there.