To check if user entered email firstname.lastname@example.org really exists go through the following in command prompt on windows / terminal on mac. The commands you type in are in green and the server response is in blue. Please refer to MAC & PC screenshots towards the end of this post.
Step 1 – Find mail exchanger or mail server of webdigiapps.com
nslookup -q=mx webdigiapps.com
webdigiapps.com mail exchanger = 0 mx2.sub3.homie.mail.dreamhost.com.
webdigiapps.com mail exchanger = 0 mx1.sub3.homie.mail.dreamhost.com.
Step 2 – Now we know the mail server address so let us connect to it. You can connect to one of the exchanger addresses in the response from Step 1.
telnet mx2.sub3.homie.mail.dreamhost.com 25
Connected to mx2.sub3.homie.mail.dreamhost.com.
Escape character is ‘^]’.
220 homiemail-mx7.g.dreamhost.com ESMTP
mail from: <email@example.com>
250 2.1.0 Ok
rcpt to: <firstname.lastname@example.org>
550 5.1.1 <email@example.com>: Recipient address rejected: User unknown in virtual alias table
221 2.0.0 Bye
Screenshots – MAC Terminal & Windows
1) the 550 response indicates that the email address is not valid and you have caught a valid but wrong email address. This code can be on the server and called on AJAX when user tabs out of the email field. The entire check will take less than 2 seconds to run and you can make sure that the email is correct.
2) If email was present the server will respond with a 250 instead of 550
3) There are certain servers with a CATCH ALL email and this means all email address are accepted as valid on their servers (RARE but some servers do have this setting).
4) Please do not use this method to continuously to check for availability of gmail / yahoo / msn accounts etc as this may cause your IP to be added to a blacklist.