Salve,
Ringrazio in anticipo chi è disposto ad aiutarmi, premesso che sto impazzendo dopo svariate letture e tentativi non riesco a venirne a capo.
Il problema è che non invia l' email, esegue il controllo di tutti i campi funziona tutto come si deve, ma quando provo ad inviare mi da sempre lo stesso errore
"Ci sono stati degli errori nell'invio della e-mail."
Non riesco davvero a capire quale sia il problema,ho controllato tutto, ovviamente non ho fatto le prove in locale ho caricato tutto sul server con tutti i file in unica cartella e comunque non funziona...![]()
Potreste aiutarmi?? Grazie
In pratica questo è il mio form:
<form id="formail" method="post" action="">
<div id="risposta">
</div>
<table width="297" border="0" align="center" cellpadding="1" cellspacing="0">
<tr>
<td width="129" height="10" align="center">* Campi richiesti</td>
</tr>
<tr>
<td width="82">
*Nome:</p></td>
<td width="168"><input type="text" id="nome" name="nome" value="" /></td>
</tr>
</tr>
<tr>
<td>
*Cognome:</p></td>
<td><input type="text" id="cognome" name="cognome" value="" /></td>
</tr>
<tr>
<td>
*Citta':</p></td>
<td><input type="text" id="citta" name="citta" value="" /></td>
</tr>
<tr>
<td>
*E-mail:</p></td>
<td><input type="text" id="email" name="email" value="" /></td>
</tr>
</table>
<table border="0" align="center">
<tr>
<td height="80"width="297" align="center" >
<p2>bla blabla bla</p2>
</p>
<p2>Accetto condizioni: </p2>
<p2>
SI<input type="checkbox" id="privacisy" onclick="document.getElementById('privacyno').chec ked=false;
document.getElementById('verifica').value='Acconse nto'">
NO
<input type="checkbox" id="privacyno" checked="checked" onclick="document.getElementById('privacisy').chec ked=false;
document.getElementById('verifica').value='Non Acconsento'">
</p2>
<tr>
<td><input type="submit" id="invia" name="invia" value="Invia" />
</td>
</table>
</form>
Poi il fileJQuery :
$(document).ready(function(){
$("#invia").click(function(){
//Recuperiamo tutte le variabili
var valid = '';
var isr = ' è richiesto.</p>';
var nome = $("#nome").val();
var cognome = $("#cognome").val();
var citta = $("#citta").val();
var mail = $("#email").val();
//Eseguiamo una serie di controlli
if (nome.length<1) {
valid += '<p2>Un nome valido'+isr;
}
if (cognome.length<1) {
valid += '<p2>Un cognome valido'+isr;}
if (citta.length<1) {
valid += '<p2>Una città valida'+isr;
}
if (!mail.match(/^([a-z0-9._-]+@[a-z0-9._-]+\.[a-z]{2,4}$)/i)) {
valid += '<p2>Un indirizzo e-mail valido'+isr;
}
if (formail.privacyno.checked){
valid += '<p2>Accetta condizioni'+isr;
}
//Se i controlli non vengono superati, appare il messaggio di errore.
if (valid!='') {
$("#risposta").fadeIn("slow");
$("#risposta").html("<p2>Errore:
</p2>"+valid);
$("#risposta").css("background-color","#f63841");
}
//Se i controlli vengono superati, compare un messaggio di invio in corso
else {
var datastr ='&nome=' + name + '&cognome=' + cognome +'&mail=' + mail+ '&citta=' + citta;
$("#risposta").css("display", "block");
$("#risposta").css("background-color","#f68922");
$("#risposta").html("<p2>Invio del messaggio in corso..</p2>");
$("#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: "mail.php",
data: datastr,
cache: false,
success: function(html){
$("#risposta").fadeIn("slow");
$("#risposta").html(html);
$("#risposta").css("background-color","#56b13a");
setTimeout('$("#risposta").fadeOut("slow")',2000);
}
});
}
Ed in fine il file mail.php :
<?php
//Recuperiamo tutte le variabili
$mail = $_POST['email'];
$name = $_POST['nome'];
$citta = $_POST['citta'];
$cognome = $_POST['cognome'];
$ip = $_SERVER['REMOTE_ADDR'];
//Qui andrà inserito il tuo indirizzo e-mail
$to = "miaemail@email.it";
//Creazione del mesaggio da inviare
$message = "Hai ricevuto una e-mail da: ".$name.", ".$mail.".
\n";
$message .= "Messaggio:
".$cognome.", ".$citta.".
\n ";
$message .= "IP: ".$ip."
\n";
$headers = "From: $mail \n";
$headers .= "Reply-To: $mail \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, $message, $headers)){
echo "
Messaggio inviato con successo</p>";
}
//Altrimenti un messaggio di errore
else{
echo "
Ci sono stati degli errori nell'invio della e-mail.</p>";
}
?>