'lo, This method is not reliable. Just because an SMTP server responds to an "RCPT TO" command with "250" doesn't mean that the address exists. All that it means is that the SMTP server will accept mail for that address. It may bounce that mail later if it discovers the address is invalid. Possible legitimate reasons for not immediately verifying the address are: 1) Verifying the address is a lot of work. Once the SMTP server has validated the address, it has done most of the work in delivering the message. When mail servers are busy they may just accept the message and queue it for later processing. 2) If the SMTP system is a gateway of some sort, the SMTP server can't verify users, only the destination system can. So until the destination system is available, the SMTP server just queues all messages until it can pass them along to the destination system. 3) There are several reasons why a server may not want to confirm email addresses in this manner. Spammers could get lists of verified email addresses simply by trying a list of common account names at all known domains. "Headhunters" could get lists of employee email addresses at companies by the same method. In fact I know of a company that does not respond in any way to invalid addresses. If you send an email to an invalid address, it simply disappears. No bounced message, no notification, nothing. So while you can probably assume that any addresses that fail this check are invalid, you can not assume that addresses that pass this check are valid. Some useful links offering more information on this are: http://www.freesoft.org/CIE/RFC/1123/92.htm http://www.ornl.gov/its/archives/mailing-lists/qmail/1997/01/msg00507.html Andy On Fri, 4 Aug 2000, Keary Suska wrote: > You can use Net::SMTP to do a manual check. A sample transcript would be: > > 220 remote.domain.com ESMTP Service ready > HELO my.domain.com > 250 remote.domain.com hello my.domain.com > MAIL FROM: <anybody@anyhost> > 250 Sender OK > RCPT TO: <nobody@remote.domain.com> > 550 User nobody@remote.domain.com not known > RCPT TO: <somebody@remote.domain.com> > 250 User aksuska@ remote.domain.com known > QUIT > 221 remote.domain.com closing connection > > You will get greater efficiency by checking all accounts for a particular > domain at the same time as I show above. > > -K > > > > From: Joseph Erickson <jerickson@eyemg.com> > > Date: Fri, 04 Aug 2000 16:03:08 -0400 > > To: MacPerl List <macperl@macperl.org> > > Subject: [MacPerl] Verifying email addresses > > > > Is there anyway to verify an email before sending a message out? What I > > would like to do is get an email, like firstclown@yahoo.com, then ask the > > server yahoo.com if firstclown is a valid user name for email. > > > > This would really help me in checking emails before sending out subscriber > > lists. You wouldn't believe how many people don't know their own email > > address. If anyone else has had this problem, let me know how you handled > > it. > > ------------------------------- > > J o s e p h E r i c k s o n > > P u z z l e S m i t h > > > > > > # ===== Want to unsubscribe from this list? > > # ===== Send mail with body "unsubscribe" to macperl-request@macperl.org > > > > > # ===== Want to unsubscribe from this list? > # ===== Send mail with body "unsubscribe" to macperl-request@macperl.org > -- =========================================================================== Andy Berkvam | "I know someday you'll have a beautiful life, | I know you'll be a star in somebody else's sky. Email: | Why, why, why, can't it be, can't it be mine?" aberkvam@coredcs.com | - Black by Pearl Jam aberkvam@voyager.net |-WWW Pages: <http://www.coredcs.com/~aberkvam/> =========================================================================== # ===== Want to unsubscribe from this list? # ===== Send mail with body "unsubscribe" to macperl-request@macperl.org