- Home
- Categorie
- Coding e Sistemistica
- PHP
- Invia E-maildi conferma
-
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
-
...risolto......
-
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.
-
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