Salve a tutti ho un problema con questo script da premetter ke l'ho scariscato da qui

Qual'è il mio problema?? se carico sul server questo script:
Codice PHP:
<?php
if(!empty($_POST)){
    
// valori da modificare
    
$address "domenicoanello@yahoo.it"// inserire qui tra le "" la mail a cui va inviato il messaggio
    
$site "SalvoCareri Fotografia"// facoltativo, potete inserire qui il nome del sito
    
$object "Richiesta Informazioni"// oggetto
    //
    // i valori dei due array che seguono vanno modificati in base a quelli presenti negli array con lo stesso nome, nello script di flash
    
$campi = array("nome""cognome""tel""mail",  "messaggio");
    
$campiObbligatori = array("cognome""mail""tel""messaggio");
    
//
    // non modificare lo script al di sotto di questa riga
    //---------------------------------------------------------------//
    
$body "";
    
$headers "";
    
$o = (object) $_POST;
    
$s implode(","$campiObbligatori);
    foreach(
$campi as $value){
        if(
substr_count($s$value) > && is_null($o->$value)){
            echo 
"&report=KO&";
            break;
        } else {
            if(!
is_null($o->mail) && $o->$value == $o->mail){
                
$headers.= "From: $o->mail.";
            }
            
$body.= $value.": ".$o->$value."\r\n";
            if(
$value == $campi[count($campi)-1]) {
                if(
mail($address$object$body$headers)) die("&report=KO&");
            
                else echo 
"&report=OK&";
            }
        }    
    }
}
?>
Nel form non compare il mex di conferma "Messaggio inviato"

mentre se lo modifico in questa maniera:
Codice PHP:
<?php
if(!empty($_POST)){
    
// valori da modificare
    
$address "domenicoanello@yahoo.it"// inserire qui tra le "" la mail a cui va inviato il messaggio
    
$site "SalvoCareri Fotografia"// facoltativo, potete inserire qui il nome del sito
    
$object "Richiesta Informazioni"// oggetto
    
$sender "";
    
//
    // i valori dei due array che seguono vanno modificati in base a quelli presenti negli array con lo stesso nome, nello script di flash
    
$campi = array("nome""cognome""tel""mail",  "messaggio");
    
$campiObbligatori = array("cognome""mail""tel""messaggio");
    
//
    // non modificare lo script al di sotto di questa riga
    //---------------------------------------------------------------//
    
$body "";
    
$headers "";
    
$o = (object) $_POST;
    
$s implode(","$campiObbligatori);
    foreach(
$campi as $value){
        if(
substr_count($s$value) > && is_null($o->$value)){
            echo 
"&report=KO&";
            break;
        } else {
            if(!
is_null($o->mail) && $o->$value == $o->mail){
                
$headers.= "From: $o->mail.";
            }
            
$body.= $value.": ".$o->$value."\r\n";
            if(
$value == $campi[count($campi)-1]) {
                if(
mail($address$object$body$headers"-f$sender")) die("&report=KO&");
            
                else echo 
"&report=OK&";
            }
        }    
    }
}
?>
Il messaggio non arriva, anche se il form mi posta il messaggio di conferma "messaggio Inviato"
Non riesco a venire a capo... potete darmi qualche suggerimento??
Vi prego è 4 giorni che impazzisco..