Cita:
Iniciado por vrael
Estoy intentando enviar un email con la función de PHP "email" pero por alguna razón no lo consigo. Este es mi código, que llamo desde el atributo action = email.php que tengo en un formulario. Es simplemente de prueba, para ver si puedo recibir correos.
email.php
Además he revisado el php info de mi hosting y esto es lo que pone:
Código PHP:
sendmail_from no value
sendmail_path /usr/sbin/sendmail -t -i
mail.force_extra_parameters no value
smtp localhost
smtp_port 25
Mi hosting es zobyhost.com, y dicen claramente en su página principal:
- PHP safe_mode Off
- PHP send mail ACTIVADO
- PHP Sockets y Curl ACTIVADOS
- Soporte .htaccess
¿Qué es lo que estoy haciendo mal para que no me funcione? ¿Cuál es el fallo?

Para que funcione lo que indica paloma necesitas de la clase phpmailer, puedes buscarla y descargarla.
Con respecto a tu código, porque no pruebas en poner a mail dentro de una variable, así:
$enviar = mail(parametros);
y con un condicional compruebas esos parametros y si estan presentes (ver isset()) se envia y si no muestras otra vez el formulario.
Ejemplo:
Código PHP:
Ver original $subject = "Asunto";
$message = "Contenido del mensaje";
$cabeceras = "MIME-Version: 1.0\r\n";
$cabeceras = "Content-type: text/html; charset=iso-8859-1\r\n";
$enviar = @mail($to, $subject, $message, $cabeceras); echo "<h2>Le hemos enviado un correo electrónico </h2>";
} else {
echo "<h2>Error de envio</h2>";
}