he copiado tu ejemplo, a porte que tienes que poner el nombre de las variables post con el mismo que cada input que envias, te faltó configurar el $email_from, esa variable queda vacía al enviar apretar el botón.
Con esos dos cambios ya te funcionará! A mi me funciona tu código con los códigos, te lo paso modificado, solo tienes copiarlo a un archivo php.
Te lo he modificado un poco ya que he visto que has utilizado javascript para simular el mismo efecto que realiza el parámetro "placeholder" de los imputs. Y como es un archivo de prueba he quitado que los datos los envie a otro archivo php, todo se realiza desde el mismo archivo.
Código PHP:
Ver original<?php
if(isset($_POST['email'])) {
// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias
$email_subject = "Contacto desde el sitio web";
// Aquí se deberían validar los datos ingresados por el usuario
if(!isset($_POST['name']) || !isset($_POST['email']) || !isset($_POST['message'])) {
echo "<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
echo "Por favor, vuelva atrás y verifique la información ingresada<br />";
}
$email_message = "Detalles del formulario de contacto:\n\n";
$email_message .= "Nombre: " . $_POST['name'] . "\n";
$email_message .= "E-mail: " . $_POST['email'] . "\n";
$email_message .= "Comentarios: " . $_POST['message'] . "\n\n";
// Ahora se envía el e-mail usando la función mail() de PHP
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
mail($_POST['email'], $email_subject, $email_message, $headers);
echo "¡El formulario se ha enviado con éxito!";
}
?>
<form action="" method="post" class="contactForm">
<p class="form">
<input class="field" type="text" name="name" id="name" placeholder="Nombre" />
<input class="field" type="text" name="email" id="email" placeholder="@" />
<input class="field" type="text" name="subject" id="subject" placeholder="4+9=?" />
</p>
<div class="clear"></div>
<p class="form" style="width:100%; float:left;"><textarea class="textarea" rows="4" name="message" id="message" cols="1">Message*</textarea><br /><br /></p>
<input type="submit" value="SEND" class="sendForm" id="submit" />
<p style="float:left;"><br />*Necessary</p>
</form>
<div class="clear"></div>
<div id="status"></div>
NOTA: si no has sabido que los fallos eran esos, es porque no debes de tener configurado tu servidor para que te muestre errores. Eso se hace en el archivo php.ini. tienes que buscar la variable "error_reporting" y añadirle el valor "E_ALL", de esa manera verás todos los errores que vayas teniendo cada vez que pruebes el código en el navegador. Y así la próxima vez podrás solventar estos pequeños errores por ti mismo. Un saludo.