#!/usr/local/bin/perl5 # # This Web page was designed for JavaPOS Standard. # # Credits: # # (C) Copyright 1998. All Rights Reserved. # # JavaPOS # 10500 NE 8th St, Suite 1900 BofA Bldg # Bellevue, WA. 98004 # Tel: (425) 646-3776 # Fax: (425) 952-0156 # Email: mtcpaul@javapos.com # Program Name: emailsubscribe.cgi # Usage: cgi program # Purpose: add an email address to emailist # Subroutine: mail_sub, THANK_YOU, CSV_DB, OOPS require "common.pl"; $webmaster = "webmaster\@javapos.com"; #$emailist = "/export/home/javapos/mailist"; $emailist = "/w1/javapos/mailist"; $error = "$0 error"; $mailTo='mtcpaul@javapos.com'; #$mailTo='mtcpaul@javapos.com'; $ccTo=' mtcpaul@javapos.com'; $sendmail = "| /usr/lib/sendmail -t"; # parseing data &parse_form_data(*IN); #&display_all_hash(*IN); #&return_error(501, "TEST", "$IN{email}"); &mailLayout(); # # Check for required fields, if not, put out "Oops" page # # require fields: email # check email address for customer "mailprefix@companyname.domain" if ( $IN{email} =~ /([\w\-\+\_\.]+)@([\w\-\+\_\.]+)\.([\w\-\+\_\.]+)/) { # ($IN{email} =~ /(com|edu|gov|mil|org|net)([\w\.]*)$/i) ) { if ($IN{subscribe} eq "subscribe") { system("echo $IN{email}, >> $emailist");; } &THANK_YOU("../subscribe.html", ".."); # return a thank you page to user } else { # missing required fields to display an error page &generate_error_page("../subscribe.html", OOPS, *IN, ".."); } # End of "else" block # All done, get out exit; ######################################################################## # # Subroutine: THANK_YOU # Purpose: Return a Thanks Page for User # # ######################################################################## sub THANK_YOU{ local($original_html, $relate_dir) = @_; local($var, $line); print "Content-type: text/html\n\n"; open(HTML, $original_html) || &return_error(500, "Open File Failed", "Can't open file $original_html, stopped"); # read form the original file while(){ # change HREF="xxx.html" to HREF="../xxx.html" # change SRC="xxx/xxx.gif" to SRC="../xxx/xxx.gif" # change BACKGROUND="xxx/xxx.gif" to BACKGROUND="../xxx/xxx.gif" if( $_ =~ /(HREF|SRC|BACKGROUND)="\w+/i ){ $_ =~ s/(HREF|SRC|BACKGROUND)="/$1="$relate_dir\//g if($_ !~ /http:\/\//); print $_; # insert error message before content } elsif ($_ =~ /<\!-- BEGIN CONTENT HERE -->/){ print $_; print <




Thank you for your feedback










NEWPAGE while (){ # jump out and print tail if($_ =~ /<\!-- END FORM AT HERE -->/){ print $_; last; } } } else { print $_; } } close(HTML) || &return_error(500, "Close File Failed", "file pipe exited $?"); exit 1; return; } ######################################################################## # # Subroutine: OOPS # Purpose: instert the error message for missing require fields into the #original page # ######################################################################## sub OOPS{ print <
END_OOPS print "
\n"; print "\n"; print "Error - Invalid Email Address

\n"; print "
\n"; print <
END_OOPS return ; } ######################################################################## # mailLayout ######################################################################## sub mailLayout { if ($IN{feedback}) { open(MAIL, "$sendmail") || &returnError(501, "Sendmail Error", "Can't open sendmail"); # output mail lines #print MAIL "From: $mailFrom\n"; print MAIL "From: $IN{email}\n"; print MAIL "To: $mailTo\n"; print MAIL "Subject: JavaPOS Comments and Feedback\n"; print MAIL "Bcc: $ccTo\n"; print MAIL "\n\n"; # don't move this line print MAIL 'JavaPOS Website Comments and Feedback:'; print MAIL "\n", "\n"; print MAIL "$IN{feedback}\n"; print MAIL "\n", "\n"; print MAIL "\n", "\n"; print MAIL "\n", "\n", '------------------END OF FORM DATA-------------------'; close(MAIL) || &returnError(501,"Close Mail Error", "mail pipe exited $?"); return; } else { return; } }