## Validation.pm - this file is created from Validation.txt
##
## $Id: Validation.txt 3915 2009-07-21 07:10:21Z tbailey $
##
## $Log$
## Revision 1.1  2005/08/20 02:21:49  nadya
## add Validation module
##
#

package Validation;

require Exporter;
@ISA = qw(Exporter);
@EXPORT = qw(valid_address);

# The funciton checks email address syntax and host validity 
# returns 0 if the address is invalid, 1 on success.
sub valid_address {
    my($addr) = @_;
    my($domain, $valid);
    return(0) unless ($addr =~ /^[^@]+@([-\w]+\.)+[A-Za-z]{2,4}$/);
    $domain = (split(/@/, $addr))[1];
    $valid = 0; open(DNS, "nslookup -q=mx $domain |") || return(-1);
    while (<DNS>) {
        $line = (/^$domain.*mail exchanger/);
        $valid = 1 if (/^$domain.*\s(mail exchanger|internet address)\s=/);
    }
    return($valid);
}


