Page 1 of 1

need help with BCC

Posted: Wed Jul 30, 2008 5:15 pm
by sthomas0402
Hello, I am having a problem making this email form be Blind Carbon Copied properly. Here is the PHP code, the original sender works fine as well as the carbon copy but no bcc. Please let me know what I have to do in order to bcc

The only two areas that I have changed is at the top adding the $bcc as well as the buttom under the "mail()"

I got the main PHP code from the Nvform.php that is available on the internet. Then added the blinc carbon copy function

Code:

Code: Select all

 <?php
 
/* $sendto is the email where form results are sent to */
   $sendto = "bla@bla.com";
 
/* $ccto is the email where form results can be carbon copied to */
   $ccto = "bla2@bla.com";
   $bccto = "bla3@bla.com";
 
/*
         O P T I O N A L   V A R I A B L E S 
*/
 
/*
TO POST PHP ERRORS TO PAGE FOR DEBUGING SET:
    $report_errors = "ALL";
 
TO REMOVE PHP ERRORS FROM POSTING TO THE PAGE FOR USE SET:
    $report_errors = "NONE";
 
*/
$report_errors = "NONE";
 
$setokurl = "2";
 
$okurls = "http://yourdomain.com,http://www.yourdomain.com,192.103.45.67";
 
/*
 
        N O   N E E D   T O   E D I T   A N Y   V A R I A B L E S   B E L O W
 
*/
 
$footer = "<br><br><br><br><br><center><font face=\"Arial\"><a href=\"http://www.noviceform.com/\" target=\"_blank\"><font color=\"#ff0000\">Form processing script provided by Novice Form</font></a> </center></font>";
 
$backbutton = "<br><br><b>Hit your browsers back button and resubmit the form.</b>";
 
if ($report_errors == "NONE") {
error_reporting(0);
}else{
error_reporting(E_ALL);
}
 
/* --- I F   S E T   O K   U R L   = 1  ----- */
 
    if ($setokurl == "1"){
 
  $found_url = "0";
  $referer =$_SERVER["HTTP_REFERER"];
  $referer = str_replace("://", "[CS]", $referer);
  $referer_sp = explode("/", $referer);
  $referer = "$referer_sp[0]";
  $referer .= "/";
  $referer = str_replace("[CS]", "://", $referer);
  $referer = strtolower($referer);
 
  $okurls = split(",", $okurls);
 
foreach ($okurls as $myokurls) {
 
$myokurls = strtolower($myokurls);
 
     if ($referer == strtolower($myokurls)) { 
      $found_url = "1"; 
      }
 
  }
 
  if ($found_url == "0") {
  $ERROR_action = "bad_okurl";
  include("$PATH_error$PAGE_error");
  }
 
    }
/* --- E N D   I F   S E T   O K   U R L   = 1  --- */
 
/* check to see if posted */
if ($HTTP_GET_VARS || ! $HTTP_POST_VARS || $_GET || ! $_POST) {
include("nverror.php");
no_pst();
 
}else{
 
 /* IF OLDER VERSION OF PHP CONVERT TO NEWER VARIABLES */
    if (! $_POST) {
    $_POST = "$HTTP_POST_VARS";
    }
 
    if (! $_SERVER) {
    $_SERVER = "$HTTP_SERVER_VARS";
    }
 
$year = date("Y");
$month = date("m");
$day = date("d");
$hour = date("h");
$min = date("i");
$tod = date("a");
 
$ip=$_SERVER["REMOTE_ADDR"];
 
$SEND_prnt = "The form below was submited by " . $_POST{"email"} . " from Ip address: $ip on $monthnameactual $month/$day/$year at $hour:$min $tod \n";
$SEND_prnt .= "-------------------------------------------------------------------------\n\n";
 
/* CHECK TO SEE IF $_POST{"required"} IS SET */
if ($_POST{"required"}){
 
  $post_required = $_POST{"required"};
  $required = split(",", $post_required);
  $reqnum = count($required);
 
    for ($req=0; $req < $reqnum; $req++) {
 
    $REQ_name = $required[$req];
    $REQ_value = $POST{"$REQ_name"};
 
  if ($REQ_name == "email") {
     $goodem = ereg("^[^@ ]+@[^@ ]+\.[^@ \.]+$", $_POST{"email"}, $trashed);
 
        if (! $goodem) {
    include("nverror.php");
    msng_email();
        }  /* end ! $goodem */
 
  }
  elseif (! $_POST{"$REQ_name"}) {
         $isreqe = "1";
         $REQ_error .= "<li> $REQ_name ";
         } /* end ! req val */
 
          } /* end REQ for loop  */
 
                /* IF THERE ARE ANY REQUIRED FIELDS NOT FILLED IN */
 
        if ($isreqe == "1") {
        include("nverror.php");
        msng_required();
        }
 
} /* END CHECK TO SEE IF $_POST{"required"} IS SET */
 
/* END IF THERE ARE ANY REQUIRED FIELDS NOT FILLED IN */
 
/* GET POSTED VARIABLES */
 
foreach ($_POST as $NVPOST_name => $NVPOST_value) {
 
$NVPOST_value = str_replace("\n", "", $NVPOST_value);
$NVPOST_value = str_replace("\r", "", $NVPOST_value);
 
$NVPOST_value = preg_replace("'\cc:'si", "Cc ", $NVPOST_value);
$NVPOST_value = preg_replace("'\bcc:'si", "bcc ", $NVPOST_value);
$NVPOST_value = preg_replace("'\to:'si", "to ", $NVPOST_value);
$NVPOST_value = preg_replace("'\bc:'si", "bc ", $NVPOST_value);
 
    if (strtolower($NVPOST_name) == "subject") {
 
    $NVPOST_value = str_replace(":", ";", $NVPOST_value);
    }
 
            /* G E T   E M A I L */
       
            if (strtolower($NVPOST_name) == "email") {
            $SEND_email = "$NVPOST_value";
        $SEND_email = str_replace(":", "", $SEND_email);
        $SEND_email = str_replace(" ", "", $SEND_email);
            }
 
            /* END GET LEADS EMAIL */
 
   if (! $_POST{"sort"}) {
 
                            /* CHECK TO SEE IF CONFIG FIELD */
                            if ($NVPOST_name == "subject" || $NVPOST_name == "sort" || $NVPOST_name == "required" || $NVPOST_name == "success_page"){}else{
                            $SEND_prnt .= "$NVPOST_name;  $NVPOST_value \n";
                            }
   } /* end ! sort */
  
} /* end foreach */
 
  /* END GET POSTED VARIABLES */
 
  if ($_POST{"sort"}) {
 
  /* SORT VARIABLES */
 
    $sortvars = split(",", $_POST{"sort"});
    $sortnum = count($sortvars);
 
               for ($num=0; $num < $sortnum; $num++) {
           $SEND_prnt .= "$sortvars[$num]: " . $_POST{"$sortvars[$num]"} . " \n";
           }
 
  }   /* END SORT VARIABLES */
 
/* send mail */
 
if (! $ccto) {
$header = "From: $SEND_email\r\nReply-to: $SEND_email";
}else{
$header = "From: $SEND_email\r\nReply-to: $SEND_email\r\nCc: $ccto";
}
 
mail($sendto, $_POST{"subject"}, $SEND_prnt, $header, $bccto);
 
/* END sendmail */
 
     /* CHECK TO SEE IF FORM SPECIFYS A SUCCESS PAGE */
     if (! $_POST{"success_page"}) {
 
include("nverror.php");
default_success();
 
     }else{
     $successpage=$_POST{"success_page"};
     header("Location: $successpage");  /* redirect */  
     exit;
     }
 
} /* END IF POSTED */
 
?>
 

Re: need help with BCC

Posted: Wed Jul 30, 2008 6:01 pm
by ody3307
You need to append your bcc info to the $header variable like this:
$header .= 'Bcc: birthdaycheck@example.com' . "\r\n";

Then remove the last parameter from the mail() function. There should only be 4 parameters in mail().

Here's a resource page with an example:
http://us3.php.net/manual/en/function.mail.php