Hi, thank you.

I thought Perl could verify if an email address exists on a server, because
I've seen a Windows program that does it.
I can use that program for verifying the email addresses, but it is only a
demo version and i want to create one in Perl.

If Perl can't verify it, is there any other programming language that can do
it?

Thanks.

Teddy's Center: http://teddy.fcc.ro/
Mail: [EMAIL PROTECTED]

----- Original Message -----
From: "Randal L. Schwartz" <[EMAIL PROTECTED]>
Newsgroups: perl.beginners.cgi
To: "Octavian Rasnita" <[EMAIL PROTECTED]>
Sent: Saturday, September 28, 2002 2:43 PM
Subject: Re: How to verify the email address?


The following message is a courtesy copy of an article
that has been posted to perl.beginners.cgi as well.

>>>>> "Octavian" == Octavian Rasnita <[EMAIL PROTECTED]> writes:

Octavian> I've tried to verify if an email address exists using the
Octavian> Net::SMTP module but the result is always 1, doesn't matter
Octavian> if the address exists or not.

Right.  Get used to it.  Every gateway machine will have to say "yes".
(Such as "stonehenge.com"'s mail handler.)  And most other machines
are now saying "yes" to every "verify" (or "no", or "get lost")
because of spammers.  Sick, isn't it?

This is a FAQ, by the way.

$ perldoc -tq "valid mail"
Found in /usr/libdata/perl5/pod/perlfaq9.pod
  How do I check a valid mail address?
            You can't, at least, not in real time. Bummer, eh?

            Without sending mail to the address and seeing whether there's a
            human on the other hand to answer you, you cannot determine
            whether a mail address is valid. Even if you apply the mail
            header standard, you can have problems, because there are
            deliverable addresses that aren't RFC-822 (the mail header
            standard) compliant, and addresses that aren't deliverable which
            are compliant.

            Many are tempted to try to eliminate many frequently-invalid
            mail addresses with a simple regex, such as
            "/^[\w.-]+\@(?:[\w-]+\.)+\w+$/". It's a very bad idea. However,
            this also throws out many valid ones, and says nothing about
            potential deliverability, so it is not suggested. Instead, see
            http://www.perl.com/CPAN/authors/Tom_Christiansen/scripts/ckaddr
            .gz, which actually checks against the full RFC spec (except for
            nested comments), looks for addresses you may not wish to accept
            mail to (say, Bill Clinton or your postmaster), and then makes
            sure that the hostname given can be looked up in the DNS MX
            records. It's not fast, but it works for what it tries to do.

            Our best advice for verifying a person's mail address is to have
            them enter their address twice, just as you normally do to
            change a password. This usually weeds out typos. If both
            versions match, send mail to that address with a personal
            message that looks somewhat like:

                Dear [EMAIL PROTECTED],

                Please confirm the mail address you gave us Wed May  6
09:38:41
                MDT 1998 by replying to this message.  Include the string
                "Rumpelstiltskin" in that reply, but spelled in reverse;
that is,
                start with "Nik...".  Once this is done, your confirmed
address will
                be entered into our records.

            If you get the message back and they've followed your
            directions, you can be reasonably assured that it's real.

            A related strategy that's less open to forgery is to give them a
            PIN (personal ID number). Record the address and PIN (best that
            it be a random one) for later processing. In the mail you send,
            ask them to include the PIN in their reply. But if it bounces,
            or the message is included via a ``vacation'' script, it'll be
            there anyway. So it's best to ask them to mail back a slight
            alteration of the PIN, such as with the characters reversed, one
            added or subtracted to each digit, etc.




--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<[EMAIL PROTECTED]> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix/security consulting, Technical writing, Comedy, etc. etc.
See PerlTraining.Stonehenge.com for onsite and open-enrollment Perl
training!



-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to