Buonasera a tutti.....
Ho un problema sul mio sito sulla spedizione di mail da una pagina di contatto..
utilizzo questo codice sulla pagina html per la creazione dei pulsanti e inserimento del testo :
Codice PHP:
<center>
<
h1>Contattatemi per qualsiasi dubbioinformazioni...ect......    </h1></center>

<
form id="formail" method="post" action="">
          
    <
p>&nbsp;</p>
    <
p><span class="required">*</span>Nome e Cognome:   
      <
input type="text" id="nome" name="nome2"  value="" />
      <
br />
    </
p>
    <
p><span class="required">*</span>E-mail:
      <
input type="text" id="email" name="email2"  value="" />
      <
br />
    </
p>
    <
p>Indirizzo:
      <
input type="text" id="indirizzo" name="indirizzo2"  value="" /><br />
    </
p>
    <
p>Città:
      <
input type="text" id="citta" name="città2"  value="" /><br />
    </
p>
    <
p><span class="required">*</span>Spazio per richiesta informazioni:    </p>
    <
p>
      <
textarea name="messaggio" cols="50" rows="5" id="messaggio"></textarea>
      </
p>
      <
p><b><span class="required">*</span>Accetti le condizioni? &nbspSI <input name="trattamento_dati" id="dati"type="radio" value="accetto" >
        
NO <input type="radio" name="trattamento_dati" value="non_accetto" checked>
      </
b></p>
      <
p><br />
      </
p>
       <
div id="risposta">
    </
div>
        <
input name="invia" type="submit" id="invia" form="formail" value="Invia" />
     
    </
form
Oltre a questo ho un file con il seguente codice di controllo:
Codice PHP:
 $(document).ready(function(){
    $(
"#invia").click(function(){
    
    
//Recuperiamo tutte le variabili
        
var valid '';
        var 
isr ' è richiesto.</p>';
        var 
name = $("#nome").val();
        var 
email = $("#email").val();
        var 
indirizzo = $("#indirizzo").val();
        var 
citta = $("#citta").val();
        var 
messaggio = $("#messaggio").val();
        var 
dati = $("input[type=radio][name=trattamento_dati]:checked").val();
    
//Eseguiamo una serie di controlli
        
if (name.length<1) {
            
valid += '<p>Un nome valido'+isr;
        }
        if (!
email.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
            
valid += '<p>Un indirizzo e-mail valido'+isr;
        }
        if (
messaggio.length<1) {
            
valid += '<p>Un messaggio valido' +isr;
        }
         if(
dati == 'non_accetto'){
            
valid += '<p>Accetta le condizioni';
        }
        
    
//Se i controlli non vengono superati, appare il messaggio di errore.
        
if (valid!='') {
            $(
"#risposta").fadeIn("slow");
            $(
"#risposta").html("<p><b>Errore:</b></p>"+valid);
            $(
"#risposta").css("background-color","#ffc0c0");
        }
        
//Se i controlli vengono superati, compare un messaggio di invio in corso
        
else {
            var 
datastr ='name=' name '&email=' email '&indirizzo=' indirizzo '&citta=' citta '&messaggio=' encodeURIComponent(messaggio);
            $(
"#risposta").css("display""block");
            $(
"#risposta").css("background-color","#FFFFA0");
            $(
"#risposta").html("<p>Invio del messaggio in corso..<br /></p>");
            $(
"#risposta").fadeIn("slow");
            
setTimeout("send('"+datastr+"')",2000);
        }
        return 
false;
    });
});
//Creazione della funzione di invio. Si baserà sul nostro file php "mail.php".
function send(datastr){
    $.
ajax({    
        
type"POST",
        
url"contattami.php",
        
datadatastr,
        
cachefalse,
        
success: function(html){
        $(
"#risposta").fadeIn("slow");
        $(
"#risposta").html(html);
        $(
"#risposta").css("background-color","#0EE570");
        
setTimeout('$("#risposta").fadeOut("slow")',10000);
    }
    });

e infine una pagina php per l'invio delle mail:
Codice PHP:
<?php
//Recuperiamo tutte le variabili
    
$mail $_POST['email'];
    
$name $_POST['name'];
    
$indirizzo $_POST['indirizzo'];
    
$citta $_POST['citta'];
    
$text $_POST['messaggio'];
    
$ip $_SERVER['REMOTE_ADDR'];
    
$subject "".$name." vuole un informazione...";
//Qui andrà inserito il tuo indirizzo e-mail
$from "mia mail@miodominio.it";
$to "mia mail@gmail.com";

$ora date ("H:i:s"); 
$data date ("d/m/Y");

//Creazione del mesaggio da inviare
$message "Hai ricevuto una e-mail da: <strong>".$name."</strong>, <strong>".$mail."</strong> il $data alle $ora.<br /><br />";
$message .= "Indirizzo: <strong>".$indirizzo."</strong><br /><br />";
$message .= "Città: <strong>".$citta."</strong><br /><br />";
$message .= "Messaggio: <strong><br />".$text."</strong><br /><br />";
$message .= "IP: ".$ip."<br />";
$headers "From: $from \n";
$headers .= "Reply-To: $from \n";
$headers .= "MIME-Version: 1.0 \n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1 \n";

//Se l'e-mail viene spedita correttamente, compare un messaggio di avvenuto invio
 
if(mail($to$subject,$message$headers)){
    echo 
"<p>Messaggio inviato con successo</p>";
}
//Altrimenti un messaggio di errore
else{ 
    echo 
"<p>Ci sono stati degli errori nell'invio della e-mail.</p>";
}
con questa funziona solamente che le mail arrivano in ritardo e per questo volevo passare attraverso un server smtp di gmail...
volevo usare questo file al posto del php precedente:
Codice PHP:
<?php
//Recuperiamo tutte le variabili
    
$mail $_POST['email'];
    
$name $_POST['name'];
    
$indirizzo $_POST['indirizzo'];
    
$citta $_POST['citta'];
    
$text $_POST['messaggio'];
    
$ip $_SERVER['REMOTE_ADDR'];
    
$subject "".$name." vuole un informazione...";
//Qui andrà inserito il tuo indirizzo e-mail
$from "mia mail@miodominio.it";
$to "mia mail@gmail.com";

$ora date ("H:i:s"); 
$data date ("d/m/Y");

require_once(
'class.phpmailer.php');//includiamo la classe
        
$from_name "Nome del mittente";
        
$mail = new PHPMailer();  // creiamo l'oggetto
    
$mail->IsSMTP(); // abilitiamo l'SMTP
    
$mail->SMTPDebug 0;  // debug: 1 = solo messaggi, 2 = errori e messaggi
    
$mail->SMTPAuth true;  // abilitiamo l'autenticazione
    
$mail->SMTPSecure 'ssl'// abilitiamo il protocollo ssl richiesto per Gmail
    
$mail->Host 'smtp.gmail.com'// ecco il server smtp di google
    
$mail->Port 465// la porta che dobbiamo utilizzare
    
$mail->Username 'nomimio@gmail.com'//email del nostro account gmail
    
$mail->Password 'password_gmail'//password del nostro account gmail
    
$mail->SetFrom($from$from_name);
    
$mail->Subject $subject;
    
$mail->Body $body;
        
$mail->IsHTML(true);
    
$mail->AddAddress($to);
    if(!
$mail->Send()) {
        
$error 'errore mail: '.$mail->ErrorInfo;
    echo 
"<p>Ci sono stati degli errori nell'invio della e-mail.</p>";
    echo 
$error;
    } else {
        
$error 'Messaggio inviato!';
            echo 
"<p>Messaggio inviato con successo</p>";

    }
in questo modo qua la mail non viene inviata anzi...
se il body del messaggio lo lascio vuoto mi viene restituito l'errore che il body è vuoto e la mail non è stata inviata...ma se metto qualcosa sul body non mi viene restituito nulla...

Riuscite a darmi una mano?

grazie a tutti