#!/usr/bin/perl #------------------------------------------------------------------------------# use DBI; #use lib "/mnt/stor15-wc2-dfw1/422298/shared/lib/perl"; use CGI::Carp qw(carpout fatalsToBrowser); use CGI::Simple; #$CGI::Simple::POST_MAX = 1024 * 10240; #(10MB) #$CGI::Simple::DISABLE_UPLOADS = 0; use Mail::RFC822::Address qw(valid validlist); use MIME::Lite; #------------------------------------------------------------------------------# # Email HTML header $hdrEmail =&hdr; # Email HTML footer $ftrEmail =&ftr; # Email Text Signature (no HTML, use \n for line breaks) our $SigT ="\n\nPCI Trucks"; $SigT.="\nwww.pcitrucks.com"; $SigT.="\n800-562-7162\n"; # Email HTML Signature $SigH =""; # Path Prefix (When Using MOD REWRITE) $pfx = "/asset/forms/"; # Logo Path $logo = "/assets/logo-form.jpg"; #email prefix $emailPrefix="[PCI Trucks]"; #dealer name $dealerName="PCI Trucks"; #no reply email $emailNoreply="noreply\@imanpro.com"; #form test email #$sendAdminBc="email.test\@datastormtech.com"; #admin email overide #$sendAdminTo="tom\@datastormtech.com"; #domain $domain = "www.pcitrucks.com"; # Email HTML Signature OVERIDE in SENDCGI our $sigAdd="

 

 

PCI Trucks
1802 North 21st St Escanaba, MI 49829
800-562-7162

"; #------------------------------------------------------------------------------# #DB Connect Strings my $DBHost="localhost"; my $DBName="DBPCITRUCKS"; my $DBUser="dbupcitrucks.R"; my $DBPass="pb0ZgE368SfI4CLK"; my $DBPort="3306"; #&dbconnect($DBHost,$DBName,$DBUser,$DBPass,$DBPort); #------------------------------------------------------------------------------# #Email Server Connection Strings $sendServerName ="smtp.mailgun.org"; #="mail.emailsrvr.com"; $sendServerPort ="587"; $sendServerAUTH ="noreply\@imanpro.net"; #="smtp2\@imanpro.com"; # smtp username $sendServerPASS ="lEQFbQPxLZdzXClpwho1HfKyBjCS8d"; # smtp password #------------------------------------------------------------------------------# my $analytics="UA-56655275-1"; #------------------------------------------------------------------------------# #&dataDebug; # Uncomment to run debug routine #------------------------------------------------------------------------------# sub hdr { my $DAT=" Messenger "; return $DAT; } #------------------------------------------------------------------------------# sub ftr { my $DAT=" "; return $DAT; } #------------------------------------------------------------------------------# #------------------------------------------------------------------------------# print "Content-type: text/html\n\n"; #------------------------------------------------------------------------------# $cgi = CGI::Simple->new; foreach $key ($cgi->param) { $FORM{$key}=$cgi->param($key); } $act=$cgi->param('act'); $reqF=$FORM{reqF}; $cond=$FORM{cond}; $success=$FORM{send}; #------------------------------------------------------------------------------# my $reqFile="./".$FORM{reqF}.".dat"; if (!$FORM{reqF}) { #print "\n Invalid File Request"; exit; } else { require $reqFile; } if (!$ENV{'HTTP_REFERER'}) { #$formError.="
" if ($formError); #$formError.="\n Invalid Referer"; #$formStop=1; #print $formError } if (($FORM{init}==1) && $formStop!=1) { &dataChk; } if ($e->{tveblacklist} eq "Yes" && $formStop!=1) { #print 1; exit; &runDisp('done'); exit; } if ($FORM{init}==1 && !$formError) { #print 2; exit; &send; &runDisp('done'); } else { &runDisp; } exit; #------------------------------------------------------------------------------# sub runDisp { my $OPT=shift; print " Email Messenger "; if ($analytics && $OPT ne "done" && !$formError) { $GAScript= " "; } print " "; if ($OPT eq "done") { print "
$formTitle
$sendRedirMsg
Redirecting...
"; } else { if ($formStop!=1) { if (!$formError) { print "" } print &dataPrt; } } print " \n\n"; } #------------------------------------------------------------------------------# sub send { # send Admin &dataReq; &sendMIME("sendAdmin"); # send Reply if ($sendReplyTrue==1){ &dataReq; &sendMIME("sendReply"); } } #------------------------------------------------------------------------------# sub sendMIME { my $ALT=shift; my $typ; my $fr; my $to; my $cc; my $bc; my $sbj; my $msg; if ($ALT=~/Reply$/) { if ($sendReplyType eq "TEXT") { $msg=$sendReplyBody; $msg.=$SigT; $typ="text/plain" } else { $msg=$hdrEmail.$sendReplyBody.$ftrEmail; $msg.=$SigH.$sigAdd; $typ="text/html"; } $fr =$sendReplyFr; $to =$sendReplyTo; $cc =$sendReplyCc; $bc =$sendReplyBc; $sbj=$sendReplySubj; } else { if ($sendAdminType eq "TEXT") { $msg=$sendAdminBody; $msg.=$SigT; $typ="text/plain" } else { $msg=$hdrEmail.$sendAdminBody.$ftrEmail; $msg.=$SigH.$sigAdd; $typ="text/html"; } $fr =$sendAdminFr; $to =$sendAdminTo; $cc =$sendAdminCc; $bc =$sendAdminBc; $sbj=$sendAdminSubj; } my $sendEmail = MIME::Lite->new( From => $fr, FromSender => $fr, To => $to, Cc => $cc, Bcc => $bc, Subject => $sbj, Type => $typ, Data => $msg ); #print "$fr,$to,$cc,$bc,$sbj,$msg,$typ"; exit; #&sendDebug($fr,$to,$cc,$bc,$sbj,$msg,$typ); #trim whitespace $fr=~s/^\s+|\s+$//g; $to=~s/^\s+|\s+$//g; #my @bl=dosql("SELECT 1 FROM TNT_blacklist WHERE LOWER(blemail)=LOWER('$fr') OR LOWER(blemail)=LOWER('$to')"); #if ($bl[0]==1) { # #do nothing; # } #else { # $sendEmail->send('smtp',$sendServerName,Port=>$sendServerPort,AuthUser=>$sendServerAUTH,AuthPass=>$sendServerPASS); # } $sendEmail->send('smtp',$sendServerName,Port=>$sendServerPort,AuthUser=>$sendServerAUTH,AuthPass=>$sendServerPASS); } #------------------------------------------------------------------------------# sub dbconnect { our $dbh=DBI->connect("DBI:mysql:$DBName:$DBHost:$DBPort","$DBUser","$DBPass",{RaiseError=>1,AutoCommit=>1}); } #------------------------------------------------------------------------------# sub disconnect { $dbh->disconnect(); } #------------------------------------------------------------------------------# sub dosql { my $doQuery=shift; my $rth = $dbh->prepare($doQuery); $rth->execute(); my @rrr = $rth->fetchrow_array; $rth->finish(); return @rrr; } #------------------------------------------------------------------------------# sub dosqlhr { my $doQuery=shift; my $rth = $dbh->prepare($doQuery); $rth->execute(); my $hash_ref = $rth->fetchrow_hashref; $rth->finish(); return $hash_ref; } #------------------------------------------------------------------------------# sub formatPhone { my $HTML; if (length($_[0])<10) { undef $HTML; } elsif(length($_[0])==10 && $_[1] eq "dash") { $_[0] =~ m/(\d{3})(\d{3})(\d{4})/; $HTML="$1\-$2\-$3"; } elsif(length($_[0])==10) { $_[0] =~ m/(\d{3})(\d{3})(\d{4})/; $HTML="($1) $2\-$3"; } else { $HTML=$_[0]; } return $HTML; } #------------------------------------------------------------------------------# sub formatPrice { my $PRICE=shift; my $FRMAT=shift; my $NOZER=shift; my $NOK =shift; my $COMMA=0; my $DOLLA=0; $PRICE=0 if (!$PRICE); if ($PRICE==0 && $NOZER==1) { return; } if ($PRICE==0 && $NOZER==2) { return "Call for Price"; } if ($PRICE==0 && $NOZER==3) { return "NA"; } if ($FRMAT eq "full") { $DOLLA=1; $COMMA=1; $PRICE=sprintf("%.2f",$PRICE); } elsif ($FRMAT eq "pfull") { $PRICE = substr($PRICE,0,-3) if (substr($PRICE,-3)=~/^\./); $DOLLA=1; $COMMA=1; } elsif ($FRMAT eq "trim") { $DOLLA=0; $COMMA=1; } elsif ($FRMAT eq "ptrim") { $PRICE = substr($PRICE,0,-3) if (substr($PRICE,-3)=~/^\./); $DOLLA=0; $COMMA=1; } elsif ($FRMAT eq "min") { $PRICE = substr($PRICE,0,-3) if (substr($PRICE,-3)=~/^\./); $DOLLA=0; $COMMA=0; } elsif ($FRMAT=~/^k/) { if ($PRICE>1000) { if (substr($PRICE,-3)=~/^\./) { $PRICE = substr($PRICE,0,-3); } $PRICE=($PRICE/1000); $PRICE=sprintf("%.2f",$PRICE+=0.05); # Round $PRICE=substr($PRICE,0,-1); $PRICE=substr($PRICE,0,-2) if ($PRICE=~/\.0$/); $PRICE.="K" unless $NOK==1; } else { if (substr($PRICE,-3)=~/^\./) { $PRICE = substr($PRICE,0,-3); } } if ($FRMAT=~/full$/) { $DOLLA=1; $COMMA=0; } else { $DOLLA=1; $COMMA=0; } } if ($COMMA==1) { $PRICE =~ s/(^[-+]?\d+?(?=(?>(?:\d{3})+)(?!\d))|\G\d{3}(?=\d))/$1,/g; } if ($DOLLA==1) { $PRICE = "\$".$PRICE; } return $PRICE; } #------------------------------------------------------------------------------# sub sendDebug { my $ALT=shift; print " Subject => $_[4] From => $_[0] To => $_[1] Cc => $_[2] Bcc => $_[3] Type => $_[6] Data => $_[5] "; exit; } #------------------------------------------------------------------------------#