Collection of scripts in various languages
|
Mail-address verification against mailserver
Perl
#!/usr/bin/perl
use strict;
use IO::Socket::INET;
sub TRUE { 1; }
sub FALSE { 0; }
if ( ($#ARGV + 1) < 3 ) {
print "Usage: $0 < mailserver-to-check-for> < port-on-server-25-or-587> < email-adress-to-check>\n";
exit;
}
my $server = shift;
my $port = shift;
my $address_to_check = shift;
my $answer = "";
my $SOCKET = IO::Socket::INET->new(
PeerAddr => "$server",
PeerPort => "$port",
Proto => 'tcp') || die "Error in create socket!: $!";
<$SOCKET>;
print $SOCKET "HELO xy\n";
<$SOCKET>;
print $SOCKET "RSET\n";
<$SOCKET>;
print $SOCKET "MAIL FROM: addrecheck\@example.org\n";
<$SOCKET>;
$answer = "";
print $SOCKET "RCPT TO: $address_to_check\n";
$answer = <$SOCKET>;
#print "Answer: $answer\n";
close $SOCKET;
exit FALSE if $answer !~ m/\s+ok/i;
exit TRUE;
Python
from socket import *
import sys
import string
if len(sys.argv) < 4:
print 'usage: ', sys.argv[0], ' < mailserver-to-check-for > < port-on-server-25-or-587 > < email-adress-to-check >'
sys.exit(False)
server = sys.argv[1]
port = int(sys.argv[2])
mail_to_check = sys.argv[3]
sSocket = socket(AF_INET, SOCK_STREAM)
sSocket.connect((server, port))
recv = sSocket.recv(1024)
#print recv
sSocket.send('HELO xy\r\n')
recv2 = sSocket.recv(1024)
#print recv2
sSocket.send('RSET\r\n')
recv1 = sSocket.recv(1024)
#print recv1
sSocket.send('MAIL FROM: addrecheck@example.org\r\n')
recv3 = sSocket.recv(1024)
#print recv3
sSocket.send('RCPT TO: ' + mail_to_check + '\r\n')
recv4 = sSocket.recv(1024)
#print recv4
recv5 = recv4.replace("\n", "").replace("\r", "")
if recv5[-2:].lower() == 'ok':
sys.exit(True)
sys.exit(False)
|
|
|