#!/usr/local/bin/perl (this address has been confirmed as accurate with my server provider) ############################################################# # Instructions: # # - Use WordPad.exe or any plain text editor to edit # - Set your path to Perl as needed (first line at top) # - Set ALL variables appropriately (below, see notes) # - Take special care with the path to your sendmail (below) # - Send the script to the server in ascii (I assume that using notepad, saving the file as .pl and ftp the file up to the server, IS sending the script in ascii??) # - Set script permissions - check your doc or ask admin (apparently there aren't any) # - See a_faq.html for HTML set-ups in alphamail.zip file # - Required html pages are also provided in alphamail.zip # ############################################################# ##### SETTABLE VARIABLES #################################### # URL to go to if there is a problem with form input $ErrorPage = "http://www.truevitality.co.uk/public_html/a_fail.htm"; (this i believe to be the address to the a_fail.htm page that i did) # URL to go to when form has been successfully submitted $ThankPage = "http://www.truevitality.co.uk/public_html/a_thanks.htm"; (again I believe this address to be correct. I have tried it without the /public_html as well) # URL to go to if a 'foreign' referer calls the script $EvilReferer = "http://www.dvdj.co.uk"; (I just used another web address that i have for this) # E-mail address to send intake form to (your address) # If not using PERL 5, escape the @ thus: \@ instead of @ $YourEmail = 'sackland@blueyonder.co.uk'; (This is my personal email that i was using to test. The actual email would be info@truevitality.co.uk But didn't think this would effect anything) # Script works only on your server(s) - ('URL1','URL2') @referers = ('www.truevitality.co.uk','truevitality.co.uk'); # Location of mail program - check your doc or ask admin $MailProgram = '/usr/sbin/sendmail'; (again this address has been confirmed by my host support team) # Subject of the e-mail autoreply to the submitter $Subject = "Thank you for Your Enquiry!"; # Header line in the auto-reply message $Header = "True Vitality"; # Brief tail message for body of e-mail autoreply $TailMessage = "If your message requires a reply, then please be assured that we'll get back to you as soon as possible."; # Your signature lines the end of the autoreply e-mail $Signature1 = "Laura Wilenius"; $Signature2 = "www.truevitality.co.uk"; ##### END OF SETTABLE VARIABLES ############################ ##### MAIN PROGRAM ######################################### # ___ Do not edit below this line __________________________ &CheckReferingURL; &ReadParse; $Name = $in{'Name'}; $Email = $in{'Email'}; $Message = $in{'Message'}; &CheckEmailAddressFormat; &CheckFields; &GetDate; &SendSubmission; &SendAutoReply; print "Location: $ThankPage\n\n"; exit; # _________________________________________________________ sub SendSubmission { open (MAIL,"|$MailProgram -t"); print MAIL "To: $YourEmail\n"; print MAIL "From: $Email\n"; print MAIL "Subject: $Subject\n"; print MAIL "$Date\n\n"; print MAIL "E-Mail Message\n\n"; print MAIL "From: $Name\n"; print MAIL "Email: $Email\n\n"; print MAIL "Message:\n\n"; print MAIL "$Message\n\n"; close (MAIL); } # _________________________________________________________ sub SendAutoReply { open (MAIL,"|$MailProgram -t"); print MAIL "To: $Email\n"; print MAIL "From: $YourEmail\n"; print MAIL "Subject: $Subject\n"; print MAIL "$Header\n"; print MAIL "$Date\n\n"; print MAIL "$Subject\n\n"; print MAIL "You sent the following:\n\n"; print MAIL "==============================\n\n"; print MAIL "Name: $Name\n"; print MAIL "Email: $Email\n\n"; print MAIL "Message:\n\n"; print MAIL "$Message\n\n"; print MAIL "==============================\n\n"; print MAIL "$TailMessage\n\n"; print MAIL "Best regards,\n\n\n"; print MAIL "$Signature1\n"; print MAIL "$Signature2\n\n"; close (MAIL); } # _________________________________________________________ sub GetDate { @days = ('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'); @months = ('01','02','03','04','05','06','07','08','09','10','11','12'); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year = $year+1900; $Date = "$days[$wday] $months[$mon]/$mday/$year"; } # _________________________________________________________ sub ReadParse { local (*in) = @_ if @_; local ($i, $key, $val); if ( $ENV{'REQUEST_METHOD'} eq "GET" ) {$in = $ENV{'QUERY_STRING'};} elsif ($ENV{'REQUEST_METHOD'} eq "POST") {read(STDIN,$in,$ENV{'CONTENT_LENGTH'});} else { $in = ( grep( !/^-/, @ARGV )) [0]; $in =~ s/\\&/&/g; } @in = split(/&/,$in); foreach $i (0 .. $#in) { $in[$i] =~ s/\+/ /g; ($key, $val) = split(/=/,$in[$i],2); $key =~ s/%(..)/pack("c",hex($1))/ge; $val =~ s/%(..)/pack("c",hex($1))/ge; $in{$key} .= "\0" if (defined($in{$key})); $in{$key} .= $val; } return length($in); } # _________________________________________________________ sub CheckEmailAddressFormat { if (index($Email, "@") < 1) {&DoEmailError;} if (index($Email, ".") < 1) {&DoEmailError;} if (index($Email, " ") > -1) {&DoEmailError;} } sub CheckFields { if (!$Name || $Name eq ' ') {&DoEmailError;} if (!$Email || $Email eq ' ') {&DoEmailError;} if (!$Message || $Message eq ' ') {&DoEmailError;} } sub DoEmailError { print "Location: $ErrorPage\n\n"; exit; } # _________________________________________________________ sub CheckReferingURL { if ($ENV{'HTTP_REFERER'}) { foreach $referer (@referers) { if ($ENV{'HTTP_REFERER'} =~ /$referer/i) { $check_referer = '1'; last; }}} else {$check_referer = '1';} if ($check_referer != 1) { print "Location: $EvilReferer\n\n"; exit; }} # _________________________________________________________ exit; ##### End of Script ######################################## ####
NAME
PHONE NUMBER
EMAIL
COMMENT/ENQUIRY
PLACE OF EXERCISE
HOW DID YOU HEAR ABOUT TRUE VITALITY