• User

    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");
    
                    }
    

    ?>


  • User Attivo

    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 😉


  • User

    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!