#!/usr/local/bin/perl -s
$tmp_posting = "/tmp/post2news.$$";
$tmp_inews = "/tmp/inews.$$";
$dest = $ARGV[0];
$gatewayaddress = "gateway\@newsstand.cit.cornell.edu\n";
open (INLIST, "cat >>".$tmp_posting." -|") || die "$!\n";
sleep(2);
close(INLIST);
open (DATAFILE, "<".$tmp_posting) || die "$!\n";
open (OUTFILE, ">".$tmp_inews) || die "$!\n";
while() {
if(/^Path: listproc.mail.cornell.edu!listproc!server/) {
close(DATAFILE);
close(OUTFILE);
unlink($tmp_posting);
unlink($tmp_inews);
exit 0;
} elsif (/^From:/) {
print OUTFILE "Resent-From: ",$gatewayaddress;
print OUTFILE $_;
($from,$sender) = split(' ',$_,2);
} elsif (/^Reply/) {
$reply = 1;
print OUTFILE $_;
} elsif (/^\s+$/ && !$reply) { # End of headers and no Reply to header
print OUTFILE "Reply-to: $sender\n\n";
$reply = 1;
} else {
print OUTFILE $_;
}
}
close (OUTFILE);
system( "/usr/lib/sendmail $dest < $tmp_inews");
unlink($tmp_posting);
unlink($tmp_inews);
|