#!/usr/local/bin/perl use CGI; $foo = new CGI; $recips = $foo->param('recipient'); $realname = $foo->param('realname'); $realemail = $foo->param('realemail'); $mailprog = '/usr/sbin/sendmail'; my $rhost = $ENV{"REMOTE_HOST"} || "unknown"; my $raddr = $ENV{"REMOTE_ADDR"} || "unknown"; @recipients = split("\, ", $recips); if(defined ($val = $foo->cookie(-name => "sent-mail"))) { print $foo->header(); print "

Sorry $realname, emails can only be sent once.

"; } else { foreach $person (@recipients) { ($pname, $pemail) = split("\<", $person); $pemail =~ s/\>.*//; $pname =~ s/\s+//; open(MAIL,"|$mailprog -t"); # use mailer-friendly "x headers" print MAIL "X-REMOTE_HOST: $rhost\n"; print MAIL "X-REMOTE_ADDR: $raddr\n"; print MAIL "To: $pemail\n"; print MAIL "Reply-To: $pemail\n"; print MAIL "From: $realemail ($realname)\n"; print MAIL "Subject: $pname, interesting site\n\n"; print MAIL " $pname message $realname"; close (MAIL); } open(FILE, ">> addresses.txt"); @addresses = ; foreach $person (@recipients) { ($pname, $pemail) = split("\<", $person); $pemail =~ s/\>//; if($pemail !=~ /\s+\,\s+/) { print FILE "$pemail\n"; }} close(FILE); print $foo->header(); $cookie = $foo->cookie('-name' => "sent-mail", '-value' => "sent"); print " "; }