problema funzione mail in php

salve ho creato il seguente form:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<table width="400" border="0">

<form method="POST" action="ins.php" name="mioform" onSubmit="return controlla()">
<tr>
<td><font size="2"><b>NOME:</font><font size="2" color="red"> *</b></font>
</td>
<td><input name="nome" size="30" type="text" maxlength="15"
onblur="this.value=this.value.replace(/^s*/,'')">
</td>
</tr>
<tr>
<td><font size="2"><b>EMAIL:</font><font size="2" color="red"> *</b></font>
</td>
<td><input name="suoemail" size="30" type="text" maxlength="30" onBlur="this.value=ignoreSpaces(this.value)">
</td>
</tr>
<tr>
<td><font size="2"><b>CITTA':</b><br><font color="#008080"> </font>
</td>
<td><input name="citta" size="30" type="text" maxlength="15" onBlur="this.value=this.value.replace(/^s*/,'')">
</td>
</tr>
<tr>
<td valign="top"><font size="2"><b>MESSAGGIO:</font><font size="2" color="red"> *</b></font>
</td>
<td><textarea name="messaggio" wrap="soft" cols="40" rows="10" onkeyup="conta(this.form)"
onblur="this.value=this.value.replace(/^s*/,'')"></textarea>
<font face="arial" size="2">Max <input value="500" size="1" name="num" readonly>
caratteri</font>
</td>
</tr>
<td width="250" align="center"><input type="submit" value="Invia">
</td>
</tr>
</form>
</table>
<tr>
<td bgcolor="#E9E378"><font size="2"><i><font size="2" color="red"> * </font> <font size="2">Campi obbligatori</i></font></td>
</tr>
</table>

</form>
</body>
</html>

e questo e il codice php:
?php

$nome = stripslashes(trim($_POST["nome"]));
$suoemail = $_POST["suoemail"];
$citta = ucwords(stripslashes(trim($_POST["citta"])));
$ip=$_SERVER['REMOTE_ADDR'];
$messaggio = ucfirst(stripslashes(trim($_POST["messaggio"])));
$messaggio =nl2br($messaggio);
$messaggio = wordwrap($messaggio, 75, "<br/>",1);

//strlen = numero max di caratteri inseribili
if(strlen($nome) > 15){
$errore = true;
echo "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">NOME: max 15 caratteri</font></center><br />";
}
if(strlen($suoemail) > 30){
$errore = true;
echo "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">EMAIL: max 30 caratteri</font></center><br />";
}
if(strlen($citta) > 15){
$errore = true;
echo "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">CITTA': max 15 caratteri</font></center><br />";
}
if(strlen($messaggio) > 500){
$errore = true;
echo "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">MESSAGGIO: max 500 caratteri</font></center><br />";
}
//Caratteri non ammessi
if($nome.$citta.$messaggio){
if(ereg("[<>]+",$nome.$citta.$messaggio)){
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">I caratteri \"<font color=\"red\"><b>< > </b></font>\" non sono ammessi</font></center><br />";
}
}

//Campi obbligatori
if(empty($nome))
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire il Nome</font></center><br />";
else
//Valida l'Email
//valida pippo@email.{2,4}//pip.po@email.{2,4}//pip_po@email.{2,4}//pip-po@email.{2,4}
if(empty($suoemail))
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire l'Email</font></center><br />";
else
if(!ereg("^([-_.#$&a-z0-9]+)
[a-z]+(.[a-z]{2,4})$",$suoemail))
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire un' Email valida</font></center><br />";
else
if(empty($messaggio))
$errore .= "<br><br><br><br><br><br><br><br><tr><td valign=\"center\"><center><font family=\"Arial\" size=\"5\">Inserire il Messaggio</font></center><br />";
if($errore)
echo $errore;

if($errore):
$tab_ins;
$meta="<META http-equiv=\"REFRESH\" content=\"3; url=http://www.hpscommunity.it/scrivimi1.php\">";
else:
$tab_ins= "<br><br><br><br><br><table width=\"400\"height=\"150\" align=\"center\"\" cellpadding=\"5\" cellspacing=\"0\" bordercolor=\"#0000FF\" bgcolor=\"#FDFED6\" style=\"border:1px solid;\">";
$tab_ins .= "<tr><td valign=\"bottom\"><center><font family=\"Arial\" size=\"4\">GRAZIE ".$nome."<br></td></tr></center><tr><td valign=\"top\"><center></font><font family=\"Arial\" size=\"4\">MESSAGGIO INVIATO CON SUCCESSO!</font></center>";
$tab_ins .= "</td></tr></table><br><br><br>";
$meta="<META http-equiv=\"REFRESH\" content=\"3; url=http://www.hpscommunity.it\">";

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "X-Mailer: PHP\n";
$headers .= "From:lorenzo971<lorenzo971@gmail.com>\n";

$headers1 = "MIME-Version: 1.0\r\n";
$headers1 .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers1 .= "X-Mailer: PHP\n";
$headers1 .= "From:$suoemail";

//E-mail del destinatario (cioè, io)
$a = "lorenzo971@gmail.com";
//Oggetto dell'e-mail
$oggetto = "Messaggio del Visitatore";
//TUTTI I DATI NEL MESSAGGIO con tutti gli item ($nome, $citta, ecc.)

$messaggio ="<html>
<head>
</head>
<body>
<font face=sans sharif size=4 color=0000FF>   MESSAGGIO DEL VISITATORE :</font>
<br>
<br>
<font face=arial size=2 color=000040>    Nome:</font> <font face=arial size=2 color=000080>$nome</font>
<br>
<font face=arial size=2 color=000040>    Città:</font> <font face=arial size=2 color=000080>$citta</font>
<br>
<font face=arial size=2 color=000040>    Email:</font> <font face=arial size=2 color=000080><a href=\"mailto:$suoemail\">$suoemail</a></font>
<br>
<font face=arial size=2 color=000040>    Ip:</font> <font face=arial size=2 color=000080>$ip</font>
<br>
<br>
<font face=arial size=2 color=000040>    Messaggio:</font>
<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"16\">
<tr>
<td><font face=arial size=2 color=000080>$messaggio</font></td>
</tr>
</table>
    ---------------------------
<br>
<br>
</body>
</html>";
//Invio della mail
mail ($a,$oggetto,$messaggio,$headers1);

//Invio e-mail di ringraziamento al Visitatore
$suoemail=($suoemail);
//Oggetto dell'e-mail
$oggetto1="Ringraziamento";
//TUTTI I DATI NEL MESSAGGIO DI RINGRAZIAMENTO
$messaggio1="<html>
<head>
</head>
<body>
<font face=sans sharif size=4 color=0000FF>    - RISPOSTA AUTOMATICA -</font>
<br>
<br>
<font face=arial size=2 color=000080>    Ciao</font> <font face=arial size=2 color=0000A0>$nome,</font>
<br>
<br>
<font face=arial size=2 color=000080>    grazie per avermi scritto, ti risponderò appena possibile.
<br>
<br>
    Saluti,
<br>
    <i>by Photoman</i></font>
<br>

<br>
    ---------------------------
<br>
<br>
</body>
</html>";
//Invio della mail
mail ($suoemail,$oggetto1,$messaggio1,$headers);

endif;

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?=$meta;?>
<title>write-me</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#EAEAEA">

<br>
<br>
<table align="center" width="780">
<?=$tab_ins;?>

</table>

</body>
</html>
il mio problema è che quando nel capo mail inseriso un indirizzo mail nn va copare la scritta inserire una mail valida perche?
p.s. le mail del codice sono di esempio

 webby81, N.D.

Perchè (se l'email che inserisci è giusta tipo account@dominio.com) c'è un'errore nell'espressione regolare

if(!ereg("^([-_.#$&a-z0-9]+)
[a-z]+(.[a-z]{2,4})$",$suoemail))

puoi eliminarla oppure controlla su google un'espressione corretta per il controllo di un campo email (scusa ma al momento la sintassi corretta mi sfugge...)

ciao ciao

 tollo, N.D.
001design.it ® è un marchio registrato.
© 2004-2017 Molfese Paolo - P.Iva: 03430820617 - All rights reserved | Tutti i diritti sono riservati.