Non è che lo hai testato nel Server Locale? Generalmente non ha la funzione mail().

QUESTO FUNZIONA:

FORM HTML:
<form method="post" action="INVIO.PHP">

Nome:
<input name="name">

Email:
<input name="email" size="15">

Messaggio:
<textarea name="msg"></textarea>

<input type="submit" value="Invia">
</form>
INVIO.PHP

<?php
$receiverMail = "tua@email.it";

$name = ltrim(rtrim(strip_tags(stripslashes($_POST['name']))));
$email = ltrim(rtrim(strip_tags(stripslashes($_POST['email']))));
$subject = "EMAIL DAL TUO SITO!";
$msg = ltrim(rtrim(strip_tags(stripslashes($_POST['msg']))));

$ip = getenv("REMOTE_ADDR");
$msgformat = "From: $name ($ip)\nEmail: $email\n\n$msg";

// VALIDATION
if(empty($name) || empty($email) || empty($subject) || empty($msg)) {
echo "<h3><font color=red size=1 face=Verdana>Errore.</h3>

Riprova, ricordati di Inserire Tutti i Campi Richiesti.
Clicca Nuovamente su Contattaci.</p>";
}
elseif(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email)) {
echo "<h3><font color=red size=1 face=Verdana>Errore.</h3>

Riprova, si è verificato un Errore!
Clicca Nuovamente su Contattaci.</p>";
}
else {
mail($receiverMail, $subject, $msgformat, "From: $name <$email>");
echo "<h3><font size=1 color=black face=Verdana>Il Tuo Messaggio è Stato Inviato Correttamente.</h3>

Grazie, ti Risponderemo al Più Presto.</p>"; }
?>
CIAO CIAO.