I have tried so many npm packages to verify the email address and domain name. Here are the some of the npm packages I have tried
email-check,
email-verify,
Today (and probably never) it is not possible to programmatically verify an email address.
The server its at won't for both security and privacy reasons allow that.
And for a good reason. With such solution, spammers etc. could traverse all the servers and get every email address available.
As a note, there are tools out there that claims being email verification solutons. They generally use DNS validations, including MX record(s) lookup, but they can't with 100% accuracy say if an email address exist or not, they can only get what the email server is setup to give them.
Domain name can be though, and NSLookup is one of the services that can do that.
Updated
I found a few good reads at SO (where the first is actually a dupe, though can't close it myself)
How to check if an email address exists without sending an email?
How to validate an email address using a regular expression?
How to validate an email address in JavaScript?