ciao a tutti, ho messo la pagina nel mio sito con un form per dare la possibilità agli utenti di contattarmi.
questa è la pagina:
http://www.elogioallavespa.it/provaform.php

la cosa strana è che non sempre le mail mi arrivano.

nella pagina del form metto questo codice:
Codice PHP:
<?php     
//Apro la sessione     
session_start();     
//prelevo i dati del codice errore     
$errore $_GET["errore"];     
$nome $_GET["nome"];     
//genero i numeri per antispam     
$num1 rand (0,10); 
$num2 rand (0,10);     
$risultato $num1+$num2;     
$_SESSION["risultato"] = $risultato
?>
e il form da compilare.

poi ho una pagina con i controlli da fare prima di inviare la mail che è questa:

Codice PHP:
<?php  
//Apro la sessione 
session_start(); 
// prelevo il campo "nome" da form.php 
$nome=$_POST["nome"]; 
$indirizzo=$_POST["indirizzo"]; 
$oggetto=$_POST["oggetto"]; 
$messaggio=$_POST["messaggio"]; 
$spam=$_POST["spam"]; 
$risultato=$_SESSION["risultato"];  
//indirizzo destinatario 
$indirizzo_dest "mioindirizzo@alice.it"
//indirizzo mittente 
$indirizzo_mitt "posta@elogioallavespa.it";  
$messaggioCompleto $messaggio."\n\n".$indirizzo."\n\n".$nome;  
// controllo se il campo nome è vuoto 
if(empty($nome)){     
// se è vuoto, la variabile $errore assume valore 1     
$errore 1;     
// rimando alla pagina form.php, trasportando il codice di errore 
    
header("location:provaform.php?errore=".$errore."");     
} else if(empty(
$indirizzo)){     
// se è vuoto, la variabile $errore assume valore 2     
$errore 2;     
// rimando alla pagina form.php, trasportando il codice di errore 
    
header("location:provaform.php?errore=".$errore."");     
} else if(empty(
$oggetto)){     
// se è vuoto, la variabile $errore assume valore 4     
$errore 4;     
// rimando alla pagina form.php, trasportando il codice di errore 
    
header("location:provaform.php?errore=".$errore."");     
} else if(empty(
$messaggio)){     
// se è vuoto, la variabile $errore assume valore 3     
$errore 3;     
// rimando alla pagina form.php, trasportando il codice di errore 
    
header("location:provaform.php?errore=".$errore."");     } 
else if(empty(
$spam)){     
// se è vuoto, la variabile $errore assume valore 6     
$errore 6;     
// rimando alla pagina form.php, trasportando il codice di errore     

header("location:provaform.php?errore=".$errore."");     
} else if(!
ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$"$indirizzo)) {             
// se l'indirizzo non è valido, la variabile $errore assume valore 5             
$errore 5;             
// rimando alla pagina form.php, trasportando il codice di errore
             
header("location:provaform.php?errore=".$errore."");             
} else if(
$spam != $risultato){     
// se è sbagliato, la variabile $errore assume valore 7     
$errore 7;     
// rimando alla pagina form.php, trasportando il codice di errore 
    
header("location:provaform.php?errore=".$errore."");     }     
else {           
// se è pieno, la variabile $errore assume valore 0           
$errore 0
 
// invio del messaggio
             
mail($indirizzo_dest$oggetto$messaggioCompleto"From: $indirizzo_mitt\r\nReply-To:     $indirizzo_mitt\r\nX-Mailer: DT_formmail");
// rimando alla pagina form.php, trasportando il codice di errore             
header("location:GraziePosta.php?nome=".$nome);     }      
?>

cosa di te che possa essere? come mai ogni tanto funziona e ogni tanto no???

grazie mille