¿Has probado a enviar un email simple sin usar el código para ver que la función mail te funciona? Si estás sobre un hosting, hay muchos que no permiten el uso de mail() y requieren que todos los correos enviados autentiquen por smtp.
Para ello te recomiendo que uses la clase PHPMailer:
https://github.com/PHPMailer/PHPMailer
Pero bueno, primero prueba un envío sencillo con mail() a ver si te funciona.