#!/usr/bin/perl -w # # This script takes an input message, grabs the IP of the first "Received" # header it finds (the server that sent the mail to us), and tests for an open # relay using the testrelay script. The results are placed in the new header # "X-Opentestrelay". # # $Id$ # $|++; use Mail::Internet; use strict; my $message = new Mail::Internet [<>]; my $header = $message->head(); my $ip = $header->get("Received",0); $ip =~ /\[([0-9.]+)\]/; $ip = $1; open(TR,$ENV{"HOME"}."/bin/testrelay -d 0 $ip|") || die "Can't run testrelay!:$!"; my $result = join("",map { chomp ; $_ } ); close(TR); $header->add("X-OpenRelayTest",$result); $message->print( \*STDOUT ); exit 0;