You may also want to consider using the Email::Valid module.

http://search.cpan.org/author/MAURICE/Email-Valid-0.14/Valid.pm

http://danconia.org

Randal L. Schwartz wrote:
>>>>>>"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.
> 
> 
> 
> 


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

Reply via email to