Di solito io faccio così: in mail.php controllo che tutti i campi siano okey, se nn lo sono metto un header("Location: contatti.php?sent=0"). Poi cerco di mandare la mail, se ci sono errori redirigo nuovamente a contatti.php?sent=0 altrimenti redirigo a contatti.php?sent=1.
In contatti php, sotto il form, o dove più ti aggrada, metto un
Codice PHP:
if (isset($_GET['sent']))
  switch(
$_GET['sent']){
  case 
0:
     echo 
'<p class="success">Errori!</p>';
     
brak;
  case 
1:
     echo 
'<p class="fail">Mex mandato!!</p>';
     break;

Con un po' di sbattimento aggiuntivo puoi riconoscere i singoli errori e riportare all'utente qual è stato il campo che ha creato problemi.

P.S. la funzione eregi è deprecata.