Ciao....

ho un formmail con il controllo capcha, all'interno dello script di configurazione c'e' questo codice (premeto che funziona tutto bene):

Codice PHP:
<?php
session_start
();
     
$_SESSION['email'] = urldecode($_POST['email']);
      
$_SESSION['name'] = urldecode($_POST['name']); 
       
$_SESSION['citta'] = urldecode($_POST['citta']); 
        
$_SESSION['nazione'] = urldecode($_POST['nazione']); 
    
$_SESSION['telefono'] = urldecode($_POST['telefono']);
   
$_SESSION['subject'] = urldecode($_POST['subject']);
  
$_SESSION['comments'] = urldecode($_POST['comments']);
 
$_SESSION['user_code'] = urldecode($_POST['user_code']);
               
$subject urldecode($_POST['subject']);

?>

<?php
              
require('formcaptcha.inc.php');

             
//validate email function 

               
function validate_email($email)
              {

                 
// Create the syntactical validation regular expression
                 
$regexp "^([_a-z0-9-]+)(\.[_a-z0-9-]+)*@([a-z0-9-]+)(\.[a-z0-9-]+)*(\.[a-z]{2,4})$";

                
// Presume that the email is invalid
                
$valid 0;

                
// Validate the syntax
                
if (eregi($regexp$email))
                {
                  list(
$username,$domaintld) = split("@",$email);
                
// Validate the domain
                  
if (getmxrr($domaintld,$mxrecords))
                  
$valid 1;
                 } else {
                           
$valid 0;
                        }

                 return 
$valid;

             }

         
$email $_SESSION['email'];

         if (
validate_email($email))
           {
              echo 
"

"
;
            }else{
                  echo 
"Inserisci una email valida!

"
;
                  
redirect();
                 }

 
// redirect the user
            
function redirect()
              {
                echo 
"Attendere prego.... <img src=\"waiting.gif\" alt=\"waiting\"/>

"
;
                echo 
"<meta http-equiv=\"refresh\" content=\"10;url=redirect.php\"/></div>";
                exit();
               }
 
//test for empty fields
 
if (empty($_SESSION['name']))
    {
          echo 
"<div>Attenzione!!! devi inserire il tuo nome... 

"
;
         
redirect();
    }

 if (empty(
$_SESSION['subject']))
    {
          echo 
"<div>Attenzione!!! devi inserire un oggetto... 

"
;
          
redirect();
    }



 if (empty(
$_SESSION['email']))
    {
          echo 
"<div>Attenzione!!! devi inserire un indirizzo email... 

"
;
          
redirect();
    }

if (empty(
$_SESSION['telefono']))
    {
          echo 
"<div>Attenzione!!! devi inserire un  numero di telefono... 

"
;
          
redirect();
    }
    
 if (empty(
$_SESSION['citta']))
    {
          echo 
"<div>Attenzione!!! devi inserire una citt&agrave;... 

"
;
          
redirect();
    }
    
if (
strlen($_SESSION['comments']) > 300)
    {
         echo 
" Attenzione!!! il limite massimo sono 300 caratteri... 

"
;
         
redirect();
    }

if (empty(
$_SESSION['comments']))
   {
          echo 
"<div>Attenzione!!! devi inserire un messaggio... 

"
;
         
redirect();
   }


 
// captcha code 

if (PhpCaptcha::Validate($_SESSION['user_code'])) {


   echo 
"<div>Grazie ".$_SESSION['name'].", per averci contattato
"
;

   echo 
"Questo &egrave; ci&ograve; che hai inviato  
"
;

   echo 
"Email: ".$_SESSION['email'].
"
;
   
   echo 
"Citta: ".$_SESSION['citta'].
"
;
   
   echo 
"Nazione: ".$_SESSION['nazione'].
"
;
   
   echo 
"Telefono: ".$_SESSION['telefono'].
"
;

   echo 
"Nome e Cognome: ".$_SESSION['name'].
"
;

   echo 
"Oggetto: ".$_SESSION['subject'].
"
;

   echo 
"Messaggio: " .$_SESSION['comments'].
"
;

   echo 
"Codice di sicurezza inserito: ".$_SESSION['user_code'].
"
;

   echo 
"Attendi qualche istante stai per essere reindirizzato ...<img src=\"waiting.gif\" alt=\"waiting\"/>

"
;

   echo 
"<meta http-equiv=\"refresh\" content=\"10;url=http://www.miosito.it/redirect.html\"/></div>";

// Send mailuser set

   
$mailuser = ('mailcontatto@miosito.it');
   
   
   
// To send HTML mail, the Content-type header must be set
   
   
$headers .= 'E-mail inviata da: '.$email.  "\r\n";
   
$headers .= 'Nome e Cognome: '.$name.  "\r\n";
   
$headers .= 'Citta: '.$citta.  "\r\n";
   
$headers .= 'Nazione: '.$nazione.  "\r\n";
   
$headers .= 'Telefono: '.$telefono.  "\r\n";
   
$mail_body 'Messaggio inviato: '$_SESSION['comments']. "\r\n"
   
$mail_body.= $headers;
   
//wrap the email text every 200 characters
   
$mail_body wordwrap($mail_body200"\n"true);
   
mail ($mailuser$subject$mail_body);
   
//if all is well destroy the session
   
session_destroy();
}
 else
    {

         echo 
"<div>Attenzione, hai inserito un codice errato... 


         Attendere prego ... <img src=\"waiting.gif\" alt=\"waiting\"/>

"
;
         echo 
"<meta http-equiv=\"refresh\" content=\"15;url=redirect.php\"/></div>";

    }

?>

quando un utente compila il modulo inserisce l'email e invia il modulo, a me arriva una mail dal mio server tipo: anonimus@mioserve.com e non dall'utente che ha inviato il form.

forse manca un controllo sulla stringa di chi invia il form???