Definitivamente depende mucho del servidor donde esté alojada la página. Probé tu codigo y no funcionó así que le hice algunas modificaciones, pero aún así en un servidor funciona y en otro no a pesar que la función mail devuelve true lo que significa que se envió el correo pero nunca llega. Aquí te dejo el código php como quedó:
Código PHP:
Ver original<?php
if (isset($_POST["name"])) {
$de = $_POST["email"];
$nombre = $_POST["name"];
$subject = "Para Pagina web Enviado por $nombre:".$_POST["subject"];
$mensaje = $_POST["text"];;
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: {$nombre} <{$de}>";
$headers[] = "Reply-To: {$nombre} <{$de}>";
$headers[] = "Subject: {$subject}";
$result = mail($to, $subject, $mensaje, implode("\r\n", $headers)); if($result)
{
echo "Enviado Correctamente";
}
else
{
echo "Fallo de Envio";
}
}
?>
Tenías algunos errores en las variables que tratabas de traer por POST p ej la variable $_POST["asunto"] no existe porque no tienes ningún input en el formulario con ese nombre. A mí me funcionó ese código tal cual como está (obvio cambiando
[email protected] por tu correo) pero SOLO en un servidor.