Aggiungere email al mittente

di il
1 risposte

Aggiungere email al mittente

Ciao a tutti,
su un mio sito ho implementato un form by mail abbastanza semplice (vi mando il codice di seguito); volendo aggiungere anche la funzione che invia al mittente un'email di conferma, con un messaggio predefinito, come posso integrare il codice?
So che esiste (almeno credo) una funzione mail, ma non saprei come impostarla e dove
Grazie a tutti in anticipo

<?php
$email=$_POST['email'];

#######################################
# IMPOSTAZIONI DA CONFIGURARE #
#######################################

//(1) indirizzo email del destinatario del modulo
$destinatario = "documentazione.sanitaria@cdcsantafamiglia.it";

//(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 = "$email";
// $nome_mittente = "Dal Modulo";

//(3) oggetto del messaggio
$oggetto_email = "Richiesta cartella clinica online";

//(4) se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y".
// (valori possibili: "y" e "n")
$all_free = "n";

//(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("nome","email");

//(6) controllo validità del campo email. (valori possibili: "y" e "n")
$obbligo_email = "y";

//(7) obbligare l'utente ad accettare le condizioni.
// (valori possibili: "y" e "n")
$accetta_condizioni = "n";

//(8) URL della pagina di ringraziamento
$pagina_grazie = "https://www.cdcsantafamiglia.it/Prenotazioni/Risposta.html";

//(9) URL della pagina errore campi vuoti
$pagina_error_empty = "http://www.tuo_sito.tld/errore_campi_vuoti.htm";

//(10) URL della pagina errore email
$pagina_error_email = "http://www.tuo_sito.tld/errore_email.htm";

//(11) URL della pagina errore condizioni non accettate
$pagina_error_condizioni = "http://www.tuo_sito.tld/errore_condizioni.htm";

//(12) URL della pagina errore invio non autorizzato (mancanza di referer)
$pagina_error_referer = "http://www.tuo_sito.tld/errore_referer.htm";

#######################################
# 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;

}

}

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

}

?>

1 Risposte

  • Re: Aggiungere email al mittente

    Ho fatto anche una prova (spero giusta) indicando in calce la doppia email da inviare... La principale arriva, la seconda no; qualcuno sa dirmi perché?
    Grazie

    <?php
    $email=$_POST['email'];

    #######################################
    # IMPOSTAZIONI DA CONFIGURARE #
    #######################################

    //(1) indirizzo email del destinatario del modulo
    $destinatario = "documentazione.sanitaria@cdcsantafamiglia.it";

    //(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 = "$email";
    // $nome_mittente = "Dal Modulo";

    //(3) oggetto del messaggio
    $oggetto_email = "Richiesta cartella clinica online";

    //(4) se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y".
    // (valori possibili: "y" e "n")
    $all_free = "n";

    //(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("nome","email");

    //(6) controllo validità del campo email. (valori possibili: "y" e "n")
    $obbligo_email = "y";

    //(7) obbligare l'utente ad accettare le condizioni.
    // (valori possibili: "y" e "n")
    $accetta_condizioni = "n";

    //(8) URL della pagina di ringraziamento
    $pagina_grazie = "https://www.cdcsantafamiglia.it/Prenotazioni/Risposta.html";

    //(9) URL della pagina errore campi vuoti
    $pagina_error_empty = "http://www.tuo_sito.tld/errore_campi_vuoti.htm";

    //(10) URL della pagina errore email
    $pagina_error_email = "http://www.tuo_sito.tld/errore_email.htm";

    //(11) URL della pagina errore condizioni non accettate
    $pagina_error_condizioni = "http://www.tuo_sito.tld/errore_condizioni.htm";

    //(12) URL della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer = "http://www.tuo_sito.tld/errore_referer.htm";

    #######################################
    # 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;

    }

    }

    ########### 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", $nome_mittente);
    mail($destinatario, $oggetto_email, $corpo, $headmail);
    ini_set('sendmail_from', "$nome_mittente");
    mail($nome_mittente, "Risposta", "corpo", "headmail");

    header ("Location: $pagina_grazie");

    } else {

    header ("Location: $pagina_error_condizioni");

    }

    } else {

    header ("Location: $pagina_error_email");

    }

    } else {


    header ("Location: $pagina_error_empty");

    }

    ?>
Devi accedere o registrarti per scrivere nel forum
1 risposte