Perdona la mancanza di info più dettagliate...

praticamente richiamandola con

if (preg_match($formato_mail,$mail))
echo "Formato corretto";
else echo "Formato errato";

Mi restituisce sempre formato errato sia che $mail sia un indirizzo semanticamente corretto sia che sia errato.

Avevo da poco anche aggiunto il controllo sulle occorrenze del nome e del dominio

$formato_mail='/^([A-Za-z0-9]{1,})\@([A-Za-z0-9]{1,})\.([A-Za-z0-9]{2-4})$/';