- Home
- Categorie
- Coding e Sistemistica
- PHP
- Campo BCC nel form in php
-
Campo BCC nel form in php
Ho un problema che non riesco a risolvere nel form in php.
Vorrei che, cliccando sul tasto "invia", venisse inviata un'email all'indirizzo [email protected] e un'email nascosta in BCC ad un altro indirizzo email.
Ho provato a guardare su altre discussioni, ma non ho trovato la soluzione oppure non ho saputo applicarla.
Spero riusciate ad indicarmi nello specifico dove modificare.
Vi ringrazio anticipatamente per l'aiuto.Il mio codice è questo:
<?php
$email=$_POST['email'];#######################################
IMPOSTAZIONI DA CONFIGURARE
#######################################
//(1) indirizzo email del destinatario del modulo
$destinatario = "[email protected]";//(2) indirizzo email del mittente, campo FROM
// non toccare se desiderate che l'indirizzo email inserito nel modulo sia
// riportato nel campo DA del messaggio che sarà ricevuto.
// Se invece desiderate un campo fisso annullare la prima riga e abilitare
// la seconda inserendo la dicitura desiderata (per annullare mettere //
// all'inizio della prima riga e per abilitare togliere // dalla seconda riga)
$nome_mittente = "ilmiositopersonale.it";
// $nome_mittente = "Dal Modulo";//(3) oggetto del messaggio
$oggetto_email = "FORM contact";//(4) se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y".
// (valori possibili: "y" e "n")
$all_free = "y";//(5) se avete messo "n" al punto (4) inserire tra virgolette, separati
// da virgola, i nomi dei campi da rendere OBBLIGATORI
// Esempio: $campi_req = array("nome","telefono","via");
$campi_req = array("","");//(6) controllo validità del campo email. (valori possibili: "y" e "n")
$obbligo_email = "n";//(7) obbligare l'utente ad accettare le condizioni.
// (valori possibili: "y" e "n")
$accetta_condizioni = "n";//(8) URL della pagina di ringraziamento
$pagina_grazie = "ilmiositopersonale.it/richiestainviata.html";//(9) URL della pagina errore campi vuoti
$pagina_error_empty = "ilmiositopersonale.it/error.html";//(10) URL della pagina errore email
$pagina_error_email = "ilmiositopersonale.it/error.html";//(11) URL della pagina errore condizioni non accettate
$pagina_error_condizioni = "ilmiositopersonale.it/error.html";//(12) URL della pagina errore invio non autorizzato (mancanza di referer)
$pagina_error_referer = "ilmiositopersonale.it/error.html";#######################################
FINE IMPOSTAZIONI DA CONFIGURARE
#######################################
//ora e data
$ora = date ("H:i:s");
$data = date ("d/m/Y");//intestazione email che arriva al destinatario
$corpo = "
Modulo inviato il $data alle ore $ora
Riepilogo dati:\n\n";//============== NON TOCCARE NULLA OLTRE QUESTA RIGA ==================\
########### CODICI ###########
//variabili per rendere lo script compatibile anche con la versione PHP 4.2 e maggiori
if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER, $HTTP_SERVER_VARS))){
$_POST = &$HTTP_POST_VARS;
}//prende IP ADDRESS
if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){if ($_SERVER["HTTP_X_FORWARDED_FOR"] == "") {
$ipnumb = getenv("REMOTE_ADDR");
}else {
$ipnumb = getenv("HTTP_X_FORWARDED_FOR");
} } else {
$ipnumb = getenv("REMOTE_ADDR");
}
###################################//controllo referer
if(empty($_SERVER["HTTP_REFERER"])){header ("Location: $pagina_error_referer"); exit(); }
########### CONTROLLO DEI CAMPI ###########
$control_campi = 0;if($all_free != "y"){
foreach($_POST as $key => $valore){ if(in_array($key,$campi_req)){ if(trim($valore) == ""){ $control_campi++; } } } } else { $control_campi = 0; }
########### CONTROLLO EMAIL ###########
$control_email = 0;if($obbligo_email == "y"){
if(isset($_POST['email'])){ if(!eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$", $_POST['email'])){ $control_email++; } } else { $control_email = 0; } }
########### CONTROLLO CONDIZIONI ###########
$control_condizioni = 0;if($accetta_condizioni == "y"){
if(isset($_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){ $control_condizioni = 0; } else { $control_condizioni ++; } }
########### INVIO EMAIL ###########
if($control_campi == 0){if($control_email == 0){ if($control_condizioni == 0){
foreach($_POST as $key => $valore){
$key = ucfirst(stripslashes(trim($key)));
$valore = stripslashes(trim($valore));
$key = str_replace("_"," ",$key);if(trim($valore) == "") $valore = "Non compilato"; $corpo .= $key .": ". $valore ."\n\n"; } $corpo .= "Numero IP: $ipnumb"."\n";
$corpo .= "____________________________________________________________ \n\n
";
// invio e-mail
// Header Mail
$headmail.="From: $nome_mittente <$nome_mittente>\n";
$headmail.="Return-Path: $nome_mittente\n";
$headmail.="User-Agent: Php Mail Function\n";
$headmail.="X-Accept-Language: en-us, en\n";
$headmail.="MIME-Version: 1.0\n";
$headmail.="X-Priority: 1 (Highest)\n";
$headmail.="Content-Type: text/plain; charset=ISO-8859-1; format=flowed\n";
$headmail.="Content-Transfer-Encoding: 7bit\n";ini_set('sendmail_from', "$destinatario");
mail("$destinatario", "$oggetto_email", "$corpo", "$headmail");header ("Location: $pagina_grazie"); } else { header ("Location: $pagina_error_condizioni"); } } else { header ("Location: $pagina_error_email"); } } else { header ("Location: $pagina_error_empty"); }
?>
-
Aggiungi un header, così:
[php]$headmail .= 'Bcc: [email protected]' . "\r\n";[/php]E poi dai un'occhiata alla netiquette, in particolare al punto 3) di http: / / it.wikipedia.org/wiki/Netiquette#Regole_e_principi_della_netiquette
-
Grazie mille, ho risolto con il tuo aiuto.
Chiedo scusa per aver inserito tutto, ma pensavo potesse essere utile, perchè avevo provato in vari altri modi e pensavo ci fosse qualcosa di sbagliato.
Grazie ancora!