Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Re^3: Determine if domain is actually used for email

by Limbic~Region (Chancellor)
on Oct 04, 2011 at 18:26 UTC ( #929633=note: print w/replies, xml ) Need Help??

in reply to Re^2: Determine if domain is actually used for email
in thread Determine if domain is actually used for email

Interesting. There was a project nearly identical to this on one of the freelance boards I use to pick up jobs. I didn't bid on it because the poster specifically stated that automated routines would not be allowed - each record had to be checked manually.

I would probably use IO::Socket::Telnet. Something along the lines of this completely untested code:

use IO::Socket::Telnet; my $socket = IO::Socket::Telnet->new( PeerAddr => '', PeerPort => 25, Timeout => 3 ); die "Not an email server\n" if ! $socket; $socket->send("helo"); my $resp; $socket->recv(my $resp, 4096) or die $!; die "Not an email server\n" if ! defined $resp || ($resp !~ /^220 / && + $resp !~ /^250 /);
this link may be of use in determining other SMTP response codes that indicate it is in fact an SMTP server but not necessarily behaving as you might expect.

Cheers - L~R

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://929633]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (2)
As of 2018-05-24 00:44 GMT
Find Nodes?
    Voting Booth?