Viewing file: mail.cgi (3.05 KB) -rwxr-xr-x Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#!/usr/bin/perl
use English; $SendTo = 'bob@bingogamingnews.com'; $maxline = 980 ; $thankyoufile = "/home/goodluck/public_html/THANKS.HTM";
# die if($ENV{'REQUEST_METHOD'} ne 'POST');
read (STDIN, $FormDataString, $ENV{'CONTENT_LENGTH'}); @FormDataArray = split(/&/,$FormDataString);
for ($n=0; $n<=$#FormDataArray; $n++) { $FormDataArray[$n] =~ s/\+/ /g; #turn plusses into spaces $FormDataArray[$n] =~ s/%(..)/pack("c",hex($1))/ge; #turn hexed into ascii %Form = (%Form, (split /\=/,$FormDataArray[$n],2)); };
@vars = ("Name","Title","Organization","Address","Address2","City","State","ZipCode","Country","WorkPhone","HomePhone","FAX","Email","URL");
foreach $var (@vars) { $Form{'$var'} = substr($Form{'$var'},0,65); $Form{'$var'} = "" if ($Form{'$var'} eq "."); $Form{'$var'} =~ s/[\t\n\r]//g; }
$Form{'Email'} =~ s/[^A-Za-z0-9\-\_\.\@\+\&\/]//g ; $sender = $Form{'Email'}; if ($Form{'Email'} !~ /^[^\@]+\@[^\@]+\.[^\@]+$/) { $emailcomment = "Note: E-mail address is not in proper format\nso it has not been entered into the approved list,\nand a response to it is likely to bounce.\n\n"; $sender = 'bob@bingogamingnews.com'; }
&thankyou if ($Form{'Email'} =~ /\@bingogamingnews\.com/i);
$Form{'Message'} =~ s/\x0D//g; $Form{'Message'} = substr($Form{'Message'},0,40000); $Form{'Message'} = &splituplonglines($Form{'Message'}) if (length($Form{'Message'}) > $maxline); $Form{'Message'} = &dotcleanup($Form{'Message'});
&thankyou if (length($Form{'ZipCode'})<4);
$phoneA = $Form{'WorkPhone'}; $phoneB = $Form{'HomePhone'}; $phoneA =~ s/[^0-9]//g; $phoneB =~ s/[^0-9]//g; &thankyou if (length($phoneA)<7 && length($phoneB)<7);
open (MAIL, "| /usr/bin/sendmail -t"); print MAIL <<EOF; From: $sender To: $SendTo Subject: Correspondence from Bingo and Gaming News Web Site X-Mailform: BGN
EOF ; print MAIL ("$emailcomment"); foreach $var (@vars) { print MAIL ("$var: $Form{$var}\n"); } print MAIL ("\n$Form{Message}\n"); close MAIL;
unless ($emailcomment) { $Form{'Email'} =~ tr/A-Z/a-z/; open (APPROVED, ">>/home/goodluck/public_html/mail/controls/approved.txt"); print APPROVED ("$Form{'Email'}\n"); close (APPROVED); }
&thankyou;
sub thankyou { print ("Content-Type: text/html\n\n"); open (THANKYOU, "$thankyoufile"); @thankyou = <THANKYOU>; close (THANKYOU); foreach $line (@thankyou) { print ($line); } exit; }
sub dotcleanup #one argument - variable to be cleaned { ($textfield) = @_ ; $textfield =~ s/\n\./\n../g ; return($textfield); }
sub splituplonglines { ($filetobesplit) = @_ ; (@paragraphs) = split (/\n/,$filetobesplit); foreach $paragraph (@paragraphs) { $lengthparagraph = length($paragraph) ; next if ($lengthparagraph <= $maxline); $paragraphparts = int($lengthparagraph/$maxline); undef @paragraph; for ($part=0 ; $part <= $paragraphparts; $part++) { $paragraph[$part] = substr($paragraph, $part*$maxline, $maxline); } $paragraph = join("!\n", @paragraph); } $filetobesplit = join("\n",@paragraphs); return($filetobesplit); }
|