Ho dei problemi con uno script per validare le e-mail

Codice PHP:
<?php

class ccms_email //gestisce l'invio delle email
{
    var 
$my_email="sirdaniel.nm@gmail.com";
    
    function 
validate_mail($email)
    { 
//controlla la validità dell'email di chi invia
    
        
if(phpversion() >= 5.2.0)
            { return 
filter_var($emailFILTER_VALIDATE_MAIL); }
        else
            { return 
ereg("^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$]"$email); }
    }
    
    function 
send_mail($messaggio$mail$nome$mittente)
    { 
//invia l'email
    
        //if(!$this->validate_mail($mittente))
        //    { return false; }
        
        
        
$text  "Messaggio inviato da: $nome - $mittente\n";
        
$text .= "\nTesto messaggio:\n";
        
$text .= $messaggio;
        
$text  strip_tags($text); //elimina il testo inserito tra i tag < e >
        
        
$header "From: <$mittente>";
        
$oggetto="E-mail dal sito \"SiR DanieL\"";
        
        
$sended mail($this->my_email$oggetto$text$header);
        if(!
$sended)
            { return 
false; }
        else
            { return 
true; }
    }
}
Se lo uso così com'è funziona "bene" poichè invio il messaggio senza validare l'e-mail.
Se invece decommento

Codice PHP:
//if(!$this->validate_mail($mittente))
//    { return false; } 
Mi restituirà sempre e comunque false nonostante l'e-mail inserita sia valida.
Il form che invia la mail è questo:

Codice PHP:
<form method="post" action="author.php">
        <input type="text" name="name" value="Inserisci il tuo nome" /> *


        <input type="text" name="mail" value="Inserisci la tua e-mail" /> *


        <textarea name="messaggio" cols="80" rows="15">Inserisci il tuo messaggio</textarea>


        <input type="submit" value="Invia e-mail" name="ok" />
    </form>
<?php
if(isset($_POST['name']) && isset($_POST['mail']) && isset($_POST['messaggio']))
{
    if(!
$ccms_email->send_mail($_POST['messaggio'], $ccms_email->my_email$_POST['name'], $_POST['mail']))
        { echo 
"Impossibile inviare il messaggio. Riprova."; }
    else
        { echo 
"Messaggio inviato correttamente."; }
}
else
    { echo 
"I campi contrassegnati da * sono obbligatori."; }
?>