How to Verify an Email Address
blog.online-domain-tools.com
blog.online-domain-tools.com
You could use this method as a first-line validation though, to give the user some feedback (similar to not implementing the full RFC regex, but simply checking /.+@.+\..+/)
But there's also no guarantee that the remote server will reject the address until after you've actually submitted a full e-mail, and send the final "." , exactly to make it even more expensive for spammers, in which case any attempt at checking short of actually sending an e-mail will fail.
Their suggestion may give you an indication, but if you try to rely on it you'll get a lot of pissed off users.
The bigger risk is directory harvest attacks, where spammers dictionary generate RCPT TO requests and use any 250/251 replies to compile new mailing lists.
Tarpitting combats this to some degree and is considered best practice when allowing RCPT replies. The receiving server is configured to pause for a few seconds before replying to each RCPT TO. 5-10 seconds is fast enough to not impact mail flow while rendering dictionary based directory harvest attacks non-viable.
I understood the default generic answer to this was "send an email to it, through a mailing service you pay for, not through your own infrastructure."
Most important question you have to ask yourself is "What do I want?". If the answer is "This user e-mail address.", there isn't better way than sending a confirmation email.
As I pointed out elsewhere, there are plenty of e-mail systems that won't tell you whether or not the address exists until after you've submitted a valid-looking e-mail anyway.
Send a mail. If it bounces, ignore that. If someone takes an action based on the content of the mail you sent, the address is valid. I'd say this link is bad advice.