Voy directo al grano. Llevo varios días peleándome con un asunto... Estoy desarrollando una página web y no me termina de funcionar. Esta está creada a partir de HTML, CSS y PHP. En ella habrá un formulario el cual la gente usará para ponerse en contacto... ¡¡Pero no consigo hacer que mande el pu#etero correo!!
Tengo instalado el XAMPP 1.8.3 (Quise probar el WampServer, pero me daba un error en unas librerías al instalar, que por mucho que las descargaba y las metía, seguía dando...) para que corra el PHP, y cual me funciona perfecto, creo.
Yo ejecuto "http://localhost/contacto.php" y el PHP me contesta "Enviado correctamente". Entiendo así que el PHP funciona bien... También he estado probando a instalar, que es donde creo que me falla, un Servidor SMTP para que sea el que realice el envío... Sé que el proveedor del Hosting tendrá configurado todo correctamente y funcionará a las mil maravillas cuando hospede la web en su servidores... pero es que quiero probarlo antes. He probado con varios servidores SMTP (Fake SendMail, el cual viene incluido con el XAMP. He puesto mi cuenta de GMAIL y nada... También he probado el PostCast Server Free Ed v2.6 y tampoco. No salía nada... También he probado a usar el Mercury que viene con el XAMPP, que no se muy bien si solo abre los puertos o también hace algo más...) He probado a hacer esto mismo en un Windows XP S3, Windows Server 2003 x64 o un Windows 7 Profesional x64 (En máquinas virtuales, menos la última) y con idéntico resultado... He comprobado (Con Netstat -an) que los puertos 25 y 110 funcionen correctamente... ¡¡Incluso me monté un servidor de correo en el Windows 2003 Server!! Eso sí, solo para mandar correos entre el mismo dominio del correo, nada de Certificados de confianza para mandar fuera del dominio (Lo probé para ver si aún así, mandaba el correo del formulario entre cuentas del mismo dominio, y nada...)
El código que estoy usando ahora es este (Para probar que manda bien. Posteriormente lo cambiaré para que recoja los datos del mismo formulario.)
Código PHP:
<?php
//escribo un texto para el mensaje.
$mensaje='Prueba de correo';
//envío el mensaje.
if(mail("[email protected]", "Asunto", $mensaje)){
echo "Enviado correctamente.";
}else{
echo "Fallo.";
}
?>
Si este tema no corresponde a este subforo, ruego que me disculpen y que cualquier moderador lo mueva a su sitio oportuno.
Saludos, Cherno.