Foros del Web » Programando para Internet » PHP »

PHP OO tengo un formulario funcion mail , pero no funciona no manda email

Estas en el tema de tengo un formulario funcion mail , pero no funciona no manda email en el foro de PHP en Foros del Web. Hola , como va? soy nuevo en el foro y nuevo en php mi problema es que no se php pero tengo un form function ...
  #1 (permalink)  
Antiguo 24/07/2015, 14:28
 
Fecha de Ingreso: julio-2015
Ubicación: Buenos Aires
Mensajes: 3
Antigüedad: 8 años, 8 meses
Puntos: 0
tengo un formulario funcion mail , pero no funciona no manda email

Hola , como va?
soy nuevo en el foro y nuevo en php

mi problema es que no se php pero tengo un form function mail que no me funciona.

me podrán ayudar con los códigos?

les dejo el form

<form role="form" action="mail.php" method="POST" class="send-message">
<div class="row">
<div class="name col-md-4">
<input type="text" name="name" id="name" placeholder="Nombre" />
</div>
<div class="email col-md-4">
<input type="text" name="email" id="email" placeholder="Email" />
</div>
<div class="subject col-md-4">
<input type="text" name="subject" id="subject" placeholder="Telefono" />
</div>
</div>
<div class="row">
<div class="text col-md-12">
<textarea name="text" placeholder="Mensaje..."></textarea>
</div>
</div>
<div class="send">
<button type="submit">Send</button>
</div>
</form>

y aca el PHP

<?php

$para ="[email protected]";
$nombre =$_POST["name"];
$asunto = "Para Pagina web Enviado por $nombre:".$_POST["asunto"];
$telefono =$_POST["subject"];
$mensaje = $_POST["message"];
$de = $_POST["email"];

$headers = "MIME-Version:1.0\r\n";
$headers .= "Content-type: text/html; \r\n charset=iso-8859-1; \r\n";
$headers .="From:$de; \r\n";
$headers .="To:$para; \n\r Subject:$asunto \r\n";


if(mail($para,$asunto,$telefono,$mensaje,$headers) )
echo "Enviado Correctamente";
else
echo "Fallo de Envio";
?>


desde ya gracias!
  #2 (permalink)  
Antiguo 24/07/2015, 14:30
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: tengo un formulario funcion mail , pero no funciona no manda email

Y desde donde lo ejecutas: servidor web o local?
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #3 (permalink)  
Antiguo 24/07/2015, 14:41
 
Fecha de Ingreso: julio-2015
Ubicación: Buenos Aires
Mensajes: 3
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: tengo un formulario funcion mail , pero no funciona no manda email

servidor web
  #4 (permalink)  
Antiguo 24/07/2015, 14:42
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: tengo un formulario funcion mail , pero no funciona no manda email

Y miraste si el servidor web tiene habilitada la función mail? No todos la tienen habilitada.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #5 (permalink)  
Antiguo 24/07/2015, 21:15
 
Fecha de Ingreso: julio-2015
Ubicación: Buenos Aires
Mensajes: 3
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: tengo un formulario funcion mail , pero no funciona no manda email

acabo de preguntar al proveedor y me dijo que si esta activado,
ahora mi pregunta es :
el form y el php esta bien?
o me olvide de algo?
  #6 (permalink)  
Antiguo 24/07/2015, 23:57
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 2 meses
Puntos: 69
Respuesta: tengo un formulario funcion mail , pero no funciona no manda email

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
  1. <?php
  2. if (isset($_POST["name"]))
  3. {
  4.     $to = "[email protected]";
  5.     $de = $_POST["email"];
  6.     $nombre = $_POST["name"];
  7.     $subject = "Para Pagina web Enviado por $nombre:".$_POST["subject"];
  8.     $mensaje = $_POST["text"];;
  9.     $headers   = array();
  10.     $headers[] = "MIME-Version: 1.0";
  11.     $headers[] = "Content-type: text/plain; charset=iso-8859-1";
  12.     $headers[] = "From: {$nombre} <{$de}>";
  13.     $headers[] = "Bcc: JJ Chong <[email protected]>";
  14.     $headers[] = "Reply-To: {$nombre} <{$de}>";
  15.     $headers[] = "Subject: {$subject}";
  16.     $headers[] = "X-Mailer: PHP/".phpversion();
  17.  
  18.     $result = mail($to, $subject, $mensaje, implode("\r\n", $headers));
  19.     if($result)
  20.     {
  21.         echo "Enviado Correctamente";
  22.     }
  23.     else
  24.     {
  25.         echo "Fallo de Envio";
  26.     }
  27. }
  28. ?>

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.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]

Etiquetas: email, formulario, funcion, html, mail
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 22:36.