I have millions of email addresses and want to test if these are valid (exist).
Online solutions like Zerobounce or Neverbounce services charge too much.

I want to develop my own single page application/software, where I can check whether an email exists or not. What programming language do you advise and what tool to use?

  • I don't think it is possible with each person's knowledge. You will need to send an email to the person and ask her to confirm that the address is valid. If you are providing these people a service (for instance their are your customers) and there is a good reason for this check, then most will probably cooperate, if it is a one-time thing. Are you looking for tools that would allow you to make this kind of check?
    – Nicolas Raoul
    Commented Jan 22, 2019 at 8:11
  • Nicolas, please see my answer :-) laos, porbably not looking for tools, as he says "I want to develop my own single page application/software", but I strongly recommend asking us for a library
    – Mawg
    Commented Jan 22, 2019 at 11:46

2 Answers 2


Welcome aboard. Your question is off-topic here, and will probably be closed or deleted, which is a pity because it is a good question – just asked in the wrong place. Please click the question mark at the top right of any of our sites to see what is on-topic for that site.

Firstly, do you actually want an answer to your question as asked?

1 Do you want to know if an address is syntactically valid, even if it maybe never existed? 2 Or, do you want to know if it has actually been assigned, even if no one ever logs in & checks it? 3 Or, do you want to know if it is in regular use?

For 1, please read The 100% correct way to validate email addresses.

That will let you check, programmatically, on your own device, even if not connected to the internet, whether an email address is syntactically correct, which is a notoriously extremely difficult thing to do. If that’s what you want, I advise you to edit your question to ask us for a library or modiel for your programming language of choice which implements this. DO NOT try to reinvent this particular wheel.

For 2, you can send a request to the appropriate SMTP server to ask whether the email address is reachable, as shown on this page

For 3, as @ Nicolas says in comments, you have to send an email and see if anyone replies. If they don’t, it proves nothing.


First you have to break it apart before and after the @ symbol.

Everything to the right of the @ is the domain name.

First do a DNS query on port 53 to the local DNS server or a public one.

  1. If it has a value then that part is valid, if not whole thing isn't going to work.

  2. Next, can you connect on port 25 to domain.com? If no, mail server is currently running. It either down, or invalid.

  3. Then send a test email. Does it go through? If yes, even higher chance its valid.

  4. Add a tracking image or another type of tracking to the email, if the image is accessed on the web server then not only is it valid, but someone opened the email. False negative, the user has image blocking turned on, then you may not get a result.

Not the answer you're looking for? Browse other questions tagged or ask your own question.