#!/usr/bin/perl #' #' #' #' # Define Variables $mailprog = '/usr/sbin/sendmail'; $date = `/bin/date`; chop($date); # Set the recipient below $recipient = 'forms@netphoria.com'; $sender = 'forms@netphoria.com'; $name = ''; $subject = 'WWW Form Submission'; $sError = ""; # Get the input read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); # Split the name-value pairs @pairs = split(/&/, $buffer); foreach $pair (@pairs){ ($vname, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $vname =~ tr/+/ /; $vname =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$vname} = $value; # code to test for required variables if (substr($vname,-9,9) eq "_required") { if ($value eq "") { $sError = $sError . "" . substr($vname,0,length($vname)-9) . " is a required field.
"; } } } if ($FORM{'email'} ne "") { $email = $FORM{'email'}; } if ($FORM{'email_required'} ne "") { $email = $FORM{'email_required'}; } if ($FORM{'name'} ne "") { $name = $FORM{'name'}; } if ($FORM{'name_required'} ne "") { $name = $FORM{'name_required'}; } if ($FORM{'subject'} ne "") { $subject = $FORM{'subject'}; } if ($FORM{'subject_required'} ne "") { $subject = $FORM{'subject_required'}; } #--- test for valid email address ------ if ($FORM{'email_required'} ne "") { if (!((index($FORM{'email_required'}, "@") > 1) && (rindex($FORM{'email_required'}, ".") > (index($FORM{'email_required'}, "@") + 1)))) { $sError = $sError . "Please enter a valid email address.
"; } } if ( $sError ne "" ) { print "Content-type: text/html\n\n"; print "Input Error"; print "

"; print "Your form had the following errors:

"; print $sError; print "

Please use the Back button of your browser to continue.

"; print ""; exit; } if ($buffer ne "") { # Open The Mail open(MAIL, "|$mailprog -t") || die "Can't open $mailprog!\n"; print MAIL "To: $recipient\n"; print MAIL "From: $email ($name)\n"; print MAIL "Subject: $subject\n\n"; print MAIL "Below is the result of your feedback form. It was\n"; print MAIL "submitted by $name ($email) on $date\n\n"; print MAIL "____________________________________________\n\n"; foreach $pair (@pairs) { ($vname, $value) = split(/=/, $pair); $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $vname =~ tr/+/ /; $vname =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $FORM{$vname} = $value; unless ($vname eq 'Send.x' || $vname eq 'Send.y' || $vname eq 'subject' || $vname eq 'redirect') { # Print the MAIL for each name value pair if ($value ne "") { print MAIL "$vname: $value\n"; print MAIL "____________________________________________\n\n"; } } } close (MAIL); } if ($FORM{'redirect'}) { print "Location: $FORM{'redirect'}\n\n"; } else { # Print Return HTML print "Content-type: text/html\n\n"; print "Thank You!\n"; print "

Thank you for your submission!\n"; print "
\n"; }