Breaking News

Thursday, March 17, 2011

How to Verify an Email Address?

How do you verify if a given email address is real or fake? Well an obvious solution is that you send a test mail to that email address and if your message doesn’t bounce, it is safe to assume* that the address is real.

[*] Some web domains may have configured a catch-all email address meaning that messages addressed to a non-existent mailbox will not be returned to the sender but in most cases, such email messages will bounce.
Ping an Email Address to Validate it!

When you send an email to someone, the message goes to an SMTP server which then looks for the MX (Mail Exchange) records of the email recipient’s domain.

For instance, when you send an email to hello@gmail.com, the mail server will try to find the MX records for the gmail.com domain. If the records exist, the next step would be to determine whether that email username (hello in our example) is present or not.

Using a similar logic, we can verify an email address from the computer without actually sending a test message. Here’s how:

Let say that we want to verify if the address billgates@gmail.com exists or not?

Step 1. Enable telnet in Windows. Or if you already have the PuTTY utility, skip this step.

Step 2. Open the command prompt and type the following command:

nslookup –type=mx gmail.com

This command will extract and list the MX records of a domain as shown below. Replace gmail.com with the domain of the email address that you are trying to verify.

gmail.com MX preference=30, exchanger = alt3.gmail-smtp-in.l.google.com
gmail.com MX preference=20, exchanger = alt2.gmail-smtp-in.l.google.com
gmail.com MX preference=5, exchanger = gmail-smtp-in.l.google.com
gmail.com MX preference=10, exchanger = alt1.gmail-smtp-in.l.google.com
gmail.com MX preference=40, exchanger = alt4.gmail-smtp-in.l.google.com

Step 3. As you may have noticed, it is not uncommon to have multiple MX records for a domain. Pick any one of the servers mentioned in the MX records, may be the one with the lowest preference level number (in our example, gmail-smtp-in.l.google.com), and “pretend” to send a test message to that server from you computer.

For that, go to command prompt window and type the following commands in the listed sequence:

3a: Connect to the mail server:

telnet gmail-smtp-in.l.google.com 25

3b: Say hello to the other server

HELO

3c: Identify yourself with some fictitious email address

mail from:

3d: Type the recipient’s email address that you are trying to verify:

rcpt to:

The server response for ‘rcpt to’ command will give you an idea whether an email address is valid or not. You’ll get an “OK” if the address exists else a 550 error like:

* abc@gmail.com - The email account that you tried to reach does not exist.
* support@gmail.com - The email account that you tried to reach is disabled.

That’s it! If the address is valid, you may perform reverse email search to find the person behind the address. And if you get stuck somewhere, this step-by-step video should help:



3 comments:

  1. Good article. But this assumes that the smtp server runs on port 25 whcih may not be always true. for example, if the mail server uses secure SMTP, the port no will be 465 and we can’t get connection with simple telnet as it is secured.

    ReplyDelete
  2. Yup Rahul I m agree with u.
    Thanx for sharing ur knowledge.

    ReplyDelete
  3. But suppose you have to find Email IDs for 10 or more websites at once? Do you have that much of time? For this you need an Email Extractor. An extractor which not only gives you your answer but also saves your time.
    extract emails

    ReplyDelete

Designed By