How to check whether an email address exists?

Just for the sake of completeness: some SMTP servers do indicate if an email address exists. Following a full example in another answer:

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

helo example.com
mail from: <[email protected]>
rcpt to: <[email protected]>
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 http://mail.google.com/support/bin/answer.py?answer=6596

Upon success, and on servers that cannot or do not want to tell if an address is valid, the last command would yield:

250 2.1.5 OK

One could then simply invoke quit without sending any email at all. Still, when trying many addresses, this might also get you blocked.

(Gmail does not support the vrfy command. On the website, it also has a "check availability" button when signing up for a new Gmail account. That could also give you some information, but old addresses will be unavailable for some time.)


If this were possible, spammers worldwide would be singing with joy.

Sorry but no, it's not possible to know whether any given e-mail address exists or not.

In my opinion, this is a feature!

  • If you know your correspondents, then you will know their contact information.
  • If you don't know your correspondents, then you're a stranger and they will not appreciate getting unsolicited mail from you.
  • If you used to know your correspondents and they haven't kept you informed of their address changes, then they've made an (un?)conscious decision to not receive your mail.

The best you can do is to send out an e-mail to your list and then remove those that bounce (= those that could not be delivered).

Be careful! In some countries it is illegal to send unsolicited bulk e-mail to people who haven't explicitly allowed this in advance.


There really isn't any good way to do so. There is a 'VRFY' command in the SMTP protocol, but I don't know anyone who lets that operate anymore - it's too useful to spammers. Most hosts will just refuse the command anymore.

The best you can do right now is to send the e-mail and record what bounces (noting that some mail hosts will just blackhole undeliverable mail instead of bouncing it).

I don't know what your business or purpose is with this list, but you should know that if you go sending e-mail to 2000 people at once, you're likely to get flagged as a spammer by some mail hosts.

Tags:

Email