Solved

Ping'ing an email address

Posted on 2002-06-25
8
2,420 Views
Last Modified: 2007-12-19
Hi...
  How do I programmatically 'ping' an email address in an efficient way to check if it exists? Is there a pre-made component somewhere that will do this?

Thanks
   Shawn
0
Comment
Question by:aztec
8 Comments
 
LVL 6

Expert Comment

by:edey
Comment Utility
you can't really. some servers will tell you if the addy is good or not and there's standards for getting that info, buy experience shows that many (if not most) email servers simply don't enable the option.


About the only way to do so is to send the account mail requesting the user to manually verify the mail's transit.

GL
Mike
0
 
LVL 14

Expert Comment

by:AvonWyss
Comment Utility
The problem is, an SMTP server usually cannot tell you directly whether there is an account associtated with a certain address. This is because of several reasons:

* SMTP is a relaying protocol. Usually you send the mail to an SMTP server, which then sends it to the next one etc. Therefore, the first server in the queue (the one you could ask about the address) will usually not know whether the mail can be delivered or not.

* In SMTP, there is a VRFY command which shall query an SMTP server for a specific user. However, many server administrators have chosen to disable VRFY because it would allow spammers to discover existing email addresses on any SMTP server using a brute-force approach. Therefore, even if you know what the final destination SMTP server is, you usually still don't get any answer about the validity of the email address.

* A mailbox may be locked or exceeding its quota, in which case the SMTP server probably still would accept the message, but then generate an NDR (Non-Delivery Report). Therefore, this would not really be useful at all to know whther the address really is valid.

The only way to pretty safely check an email address is to send a message with a specially tagged return path, so that in case of an NDR from the SMTP server you know that something failed, and depending on the code in it you may also decide whether you want to retry later (temporary error, like quota exceeded), or if the address is to be considered invalid. Unfortunately, when the address is valid, the email would not bounce and therefore be delivered to the user - so that this mechanism is not really useful for checking addresses but rather to do list maintenance after sending a bulk message.
0
 
LVL 3

Accepted Solution

by:
lopem earned 50 total points
Comment Utility
Hi Aztec,

I used the Piette's ping component and it works for some known sites (i.e. yahoo)... Maybe Aztec, you should try it... Check Piette's component at

     http://www.delphi32.com/vcl/lists/sc_n_39_4.asp

I dont know why you want to ping an email address... but maybe this component can help you.

best regards
Manuel Lopez (lopem)
0
 

Expert Comment

by:clstone
Comment Utility
You cannot ping an email address. You can only ping other computers - either by name or by IP address. You 'might' be able to ping the domain part of the email address, but only if the zone file for the domain is setup with an A or CNAME record for the domain - technically not correct.

As AvonWyss noted, you can try using SMTP and the VRFY command, but with many servers, the use of that command is disabled or restricted since it can be used by spammers to try and determine available email addresses for a domain.
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 6

Expert Comment

by:edey
Comment Utility
thanks for regurgitating our comments clstone. It's nice to have another voice tell you you're right, but did you need to submitt it as an answer? I can't help but think that aztec prob. isn't terribly impressed either.

GL
Mike
0
 
LVL 3

Expert Comment

by:smurff
Comment Utility
just my 2 pence but ive seen this question waiting to be eval`ed for a while now, why do people not give the points they deserve....


sorry
Smurff
0
 

Author Comment

by:aztec
Comment Utility
I wish to select Lopem's comment as the answer.
0
 
LVL 3

Expert Comment

by:lopem
Comment Utility
Thanks...

best wishes
manuel Lopez (lopem)
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This video discusses moving either the default database or any database to a new volume.
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now