Autor Tema: Formulario de contacto  (Leído 978 veces)

Desconectado Jr

  • PHPerit@
  • *
  • Mensajes: 3
  • Karma: 0
    • Ver Perfil
Formulario de contacto
« en: 21 de Septiembre de 2009, 18:42:25 pm »
Hola,

Estoy usando un formulario de contacto de "palo" (que les digo yo) y no me llegan los mails a muchas direcciones, @dominio.com (he probado varias); pero sí me llegan a gMail.

El código es el siguiente (es cutre, HTML & PHP, pero... es lo que tengo... xD):

Código: [Seleccionar]
<?php 

$mail
=&#39;email@dominio.com&#39;; 


$nombre $_POST[&#39;nombre&#39;];
$telefono $_POST[&#39;telefono&#39;];
$email $_POST[&#39;email&#39;];
$mensaje $_POST[&#39;mensaje&#39;];

$thank="gracias.html";

$message "
nombre:"
.$nombre."
telefono:"
.$telefono."
email: "
.$email."
mensaje:"
.$mensaje."";

if (
mail($mail,"Consulta desde la web",$message))
Header ("Location: $thank);

?>

Lógicamente está vinculado a un formulario, eso está claro. Vemos como recoge los datos y los envía por mail, muestra $thank y listo.

Pues el problema esque, no me llegan a la mitad de direcciones que pongo, sólo me llegan a gmail, me han comentado que si usase la función PHPMAILER me funcionaría seguro; no tengo ni idea de como hacerlo, ni por dónde empezar. También cuando recibo el mail me salen los datos muy pegados, me gustaría separarlos, creo que es con lo de n/ ó \n (estoy muy verde, of course), y en fin, necesito un formulario que llegue cualquier mail, y no lo encuentro.

He mirado algunos del foro, como el de FeDe, pero los datos tampoco llegan a todas las direcciones, sí llegan a gmail, pero no a todas las que le pongo. Sé que será cosa de la configuración del servidor del mail "receptor" pero, ¿por qué si llegan a gmail? ¿a alguien se le ocurre algo?

Edito: Por cierto, cuando me llega el mail a esa cuenta de gmail que os comento el remitente es : "nomail@nomail2.com" why?...

Saludos y gracias cracks.
« Última modificación: 21 de Septiembre de 2009, 18:47:24 pm por Jr »

Comunidad PHPeros

Formulario de contacto
« en: 21 de Septiembre de 2009, 18:42:25 pm »

Desconectado Frank005

  • PHPero Experto
  • *****
  • Mensajes: 580
  • Karma: 3
  • Sexo: Masculino
    • Ver Perfil
Re:Formulario de contacto
« Respuesta #1 en: 22 de Septiembre de 2009, 00:09:28 am »
Fijate que te faltó poner el { al utilizar el If.

Reemplaza esto:

if (mail($mail,"Consulta desde la web",$message))
Header ("Location: $thank);


Por esto:

if(mail($mail,"Consulta desde la web",$message)){
header ("Location: $thank");
} else {
echo 
"No se ha podido enviar el email";
}


Te explico, lo que hice fue agregar la "llave" en la linea donde utilizas el if y agregé un else para que te ponga un mensaje si no se ha podido enviar el email.
Algo que hay que resaltar, es que estas ocupando mucho espacio innecesario. Por ejemplo, defines variables que ya estas definidas. Podrias utilizar el código de la siguiente manera con menos espacio.

<?php
$message 
"
nombre:"
.$_POST[&#39;nombre&#39;]."
telefono:".$_POST[&#39;telefono&#39;]."
email".$_POST[&#39;email&#39;]."
mensaje:".$_POST[&#39;mensaje&#39;]."";
if(mail("
email@dominio.com","Consulta desde la web",$message)){
header ("
Locationgracias.html");
} else {
echo "
No se ha podido enviar el email";
}
?>


Tambien asegurate que tu hosting tenga activada la función mail()  ;)