lo mire por el aire, según vi no tienes ningún control para comprobar que los campos vayan vacíos es decir, si yo voy a tu web y simplemente le doy a enviar, te enviara el formulario vacío , que es lo que parece que estas recibiendo.Para comprobarlo lo puedes hacer con empty.
ejemplo.
Código PHP:
Ver originalif (empty($_POST['campo'])) {
redirije al formulario.
}
else
{
envia el correo
}
un saludo