• User

    Invia E-maildi conferma

    Invia E-mail di Risposta Salve

    Come aggiungere al seguente codice un paio di righe (senza cambiare nulla a quest'ultimo), per inviare all'utente una mail di conferma (del tipo noreply@ abc.com) all'suo indirizzo,

    codice PHP:

    <?php
    $email=$_POST['email'];
    $destinatario = "[email protected]";
    $nome_mittente = "$email";
    $oggetto_email = "formulario";
    $all_free = "n";
    $campi_req = array("nome","email","indirizzo","luogo","plz","numero");
    $obbligo_email = "y";
    $accetta_condizioni = "y";
    $pagina_grazie = "risp_form.html";
    $pagina_error_empty = "campi_sbagliati_form.html";
    $pagina_error_email = "campi_sbagliati_form.html";
    $pagina_error_condizioni = "accetta_condizioni.html";
    $pagina_error_referer = "campi_sbagliati_form.html";

    //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";

    //controllo anti-robo//

    if ($antispam != 'tnterror347876') { die("Sorry, we don't accept Spam !!"); }

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

    ?>

    Qualcuno mi spiegerebbe passo per passo?

    Ringrazio in Anticipo delle informazioni datomi

    Saluti


  • User

    ...risolto......


  • ModSenior

    Potrebbe essere utile ad altri utenti se indichi il modo in cui hai risolto.
    Attenzione che esiste un apposito pulsante per inserire il codice, se passi alla modalità avanzata lo trovi. 🙂


  • User

    Buona Sera

    Rispondo alla sollecitazione di Marco Carrieri e do il seguito del codice, in fin dei conti abbastanza semplice:
    [php]<?

    //email di conferma
    $to = "";
    $subject = "";
    $message="";
    $headers="";

    /* variabile a chi deve andare questa mail, ovvero al indirizzo che è stato inserito nel form */
    $to  = $name;
    

    //cambiare la variabile $name !! è solo un esempio

    /* soggetto */
    $subject = " Quello che volete";
    
    /* message */
    $message = '<html>
    

    <head>
    <title> Ma che ne so</title>
    </head>

    <body >

    Scrivere quello che si vuole; è un normale testo in html

    </body>
    </html>';

    /* Testa della mail  */
    $headers  = "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $headmail.="X-Priority: 1 (Highest)\n";
    $headmail.="User-Agent: Php Mail Function\n";
    $headers .= "From: unoqualunque <[email protected]>\r\n";
    

    //se si mette noreply, la microsoft (hotmail, live.it ecc..) lo cestina come Spam!!..per gli altri va bene (ho testato yahoo, gmail, virgilio, ed alice)

    /* invio mail */
    mail($to, $subject, $message, $headers);  
    

    ?>
    [/php]

    Saluti