Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I recently came across a tool which will take a list of email addresses, and attempt to cleanse it of the nonsense addresses that people use when wanting to download/sign up for something without receiving the resulting emails (e.g. asdf@asdf.com).

The tool in question was Email Validation Tool by Softsea.

It first rules out spurious email domains by performing a DNS lookup, and then can also go on to connect to the appropriate SMTP server to ask it whether the mailbox in question actually exists. Unfortunately I was not able to configure the tool correctly in order to get this second step to work, as I could not understand what configuration data it needed (it asked for an SMTPID?).

My question is this:

Can anybody recommend/share their experience of a slightly more user friendly tool to achieve this? or failing that point out where I'm going wrong with this one in particular!?

The tool wouldn't need to be free, but I'm looking for one that is pretty straight forward to use.

share|improve this question
    
You can't log into a smtp server without valid credentials, so that option seems moot. –  MrStatic Feb 2 '10 at 0:37
    
You may not be able to send mail without credentials, but you can certainly connect to an SMTP session. At a telnet prompt, try "o smtp.gmail.com 587". That will allow you to connect and issue SMTP commands (HELO etc) to a gmail SMTP server. –  BenA Feb 2 '10 at 15:38
1  
asdf@asdf.com is a perfectly valid e-Mail address by the way. –  Michael Stum Feb 5 '10 at 4:17

3 Answers 3

up vote 3 down vote accepted

You can not reliably check that a particular address is valid because many mail servers will not tell you directly during the SMTP conversation. Many are explicitly configured not to respond with "user/mailbox does not exist" errors in order to stop outsiders being able to derive a list valid addresses. Also the SMTP server you connect to may just be a relay that forwards messages on to servers deeper in the network - in this case the server you are talking to may not know at all what addresses are valid, it will just what domains to handle and where to relay the mail for them (so it will accept any address for those domains, and something else will later in the process will throw out the invalid ones).

Even actually sending a message would not work unless you wait for the user to confirm receipt of the message, as not all servers send bounce messages for invalid accounts.

Also be careful when checking for invalid domains as part of your validation that you account or temporary DNS problems and other such intermittent network glitches, otherwise you could throw out addresses that are perfectly valid under normal conditions.

share|improve this answer
    
+1 100% agree. The last paragraph is important, too. –  Benjamin Bannier Feb 5 '10 at 17:13

Here is a company that offers list cleaning and validation as a service. We used them and were happy with the results.

share|improve this answer

The standard response to your question goes like this:

"The only way to confirm that an email address is valid is to sent an email and ask the user to verify that he received it (e.g. by following a verification link).

At the same time you should ask yourself what you want to achieve. If you simply want to harvest email addresses to uniquely identify users or to make sure you can send newsletters some day, there are plenty or free services providing throw-away email addresses to people might use (see e.g. this google search). Think about why you need that email address or why a user would want to lie to you."

share|improve this answer
    
@Downvoter You'd mind to explain? I still believe there is no fool-proof, fully automated way to do this. –  Benjamin Bannier Feb 5 '10 at 11:25

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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