I have a list of one million email addresses of varying quality (the list has never been pruned) which needs to be cleaned. All addresses are syntactically correct, but many of the mailbox accounts may have expired.

Can someone recommend a tool for this? I've tried a few Windows programs that claim to be able to do this, but they all sucked in one way or another. Either some dll were missing or the program kept crashing all the time. I need something that is solid, works as advertised and that can be used for bulk validation. Preferably something that works on Linux and is free, but a commercial Windows solution would work too as long as long as it works.

2 Answers 2


There used to be a mechanism for checking the validity of addresses by using the SMTP "VRFY" command. It was handy when you were trying to email someone but weren't quite sure as to the proper format or spelling of their email address. However no modern MTA responds to that command anymore because people like you started to use it to clean lists of a million email addresses.


Fundamentally the only way you can know that an email address is valid is to get a reply to a message you sent to that account.

Sending out 1,000,000 emails to validate them is likely to be seen an spam, you need to think about the social side of what you are doing as well as the technical.

  • 1
    Not quite. What these software do is basically asking the receiving mail server if the mailbox is present or not. That's an almost fail safe way of knowing if the address is valid. The problem is that it must be done in an efficient and resilient way. Feb 22, 2010 at 15:32

Not the answer you're looking for? Browse other questions tagged .