Foros del Web » Programando para Internet » PHP »

Formulario de Contacto no envía correo

Estas en el tema de Formulario de Contacto no envía correo en el foro de PHP en Foros del Web. Buenas noches! 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 ...
  #1 (permalink)  
Antiguo 15/12/2014, 15:27
 
Fecha de Ingreso: diciembre-2014
Mensajes: 2
Antigüedad: 9 años, 4 meses
Puntos: 0
Formulario de Contacto no envía correo

Buenas noches!

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.";
}
?>
He modificado el típico php.ini, o el correspondiente del Fake SendMail... ¿Alguien sabe qué más puedo probar o en su defecto... Que hago mal? Gracias!! Siento el rollo que he soltado!!

Si este tema no corresponde a este subforo, ruego que me disculpen y que cualquier moderador lo mueva a su sitio oportuno.

Saludos, Cherno.
  #2 (permalink)  
Antiguo 27/12/2014, 05:48
 
Fecha de Ingreso: diciembre-2014
Mensajes: 2
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Formulario de Contacto no envía correo

Al final me terminó funcionando haciendo lo siguiente:

Seguí usando el SendMail que viene preinstalado con el XAMPP. Configuré el puerto en el fichero sendmail.ini así:

Código:
o	smtp_server=smtp.gmail.com
o	smtp_port=587
o	smtp_ssl=auto
o	[email protected]
o	auth_password=contraseña
y el php.ini así:

Código:
o	sendmail_path = ""C:\xampp\sendmail\sendmail.exe" -t"
o	;sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
Utilicé este código php:

Código:
<?php
$destino="[email protected]";
$asunto="Correo de Prueba";
$mensaje="Este es un correo de Prueba.";
$encabezados="From: Yo";

If(mail($destino, $asunto, $mensaje, $encabezados)){
	echo "Mail enviado correctamente.";
}else{
	echo "Error.";
}
?>
Y muy importante, GMAIL bloquea el correo enviado desde una aplicación no oficial, así que hay que bajar la seguridad desde "Opciones>>Seguridad>>Aplicaciones Menos seguras" y habilitarlo.

Con eso debería de funcionar :)

Saludos y gracias!!
  #3 (permalink)  
Antiguo 28/12/2014, 08:07
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 5 meses
Puntos: 175
Respuesta: Formulario de Contacto no envía correo

Pero recuerda que no vas a tener alojado el sitio en tu localhost toda la vida, alguna vez debe ver la luz y estar en internet.. asi que no veo porque hacerte drama enviandolo desde el localhost...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: contacto, correo, formulario, html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:52.