Foros del Web » Programando para Internet » PHP »

Mi formulario de contacto no envia los emails

Estas en el tema de Mi formulario de contacto no envia los emails en el foro de PHP en Foros del Web. Bueno muchachos, tengo este problema, tengo el formulario de contacto (contacto.php) y el codigo que envia los emails (enviar.php) y resulta que no está envienado ...
  #1 (permalink)  
Antiguo 29/07/2011, 16:34
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 13 años, 4 meses
Puntos: 5
Mi formulario de contacto no envia los emails

Bueno muchachos, tengo este problema, tengo el formulario de contacto (contacto.php) y el codigo que envia los emails (enviar.php) y resulta que no está envienado los emails, alguien sabe por que?

contacto.php:
Código PHP:
Ver original
  1. <?php
  2. include ("header.php")
  3. ?>
  4. <div id="menu">
  5. <?php include("menu.php"); ?>
  6. </div>
  7. <div id="contenido">
  8. <?php
  9.    
  10.            if(isset($_SESSION["logeado"]) && !empty($_SESSION["logeado"])){
  11.            
  12.                        echo "<font face=Arial><h1>Contacto:</h1>";
  13.                        echo "<font color=white><form id=contacto name=contacto method=post action=enviar.php>";
  14.                        echo "<label>";
  15.                        echo "<p>Usuario <input name=nombre type=text id=nombre maxlength=30 value=".$_SESSION["s_username"];
  16.                        echo " readonly=readonly></p>";
  17.                        echo "</label>";
  18.                        echo "<p>";
  19.                        echo "<label>Asunto <input name=asunto type=text id=asunto maxlength=40 /></label></p>";
  20.                        echo "<p>";
  21.                        echo "<label>E-Mail <input name=mail type=text id=mail/></label></p>";
  22.                        echo "<p><label>Mensaje<br/><textarea name=mensaje cols=30 rows=10 id=mensaje></textarea></label></p>";
  23.                        echo "Recuerda ingresar un E-Mail valido para que podamos responder su mensaje.";
  24.                        echo "<p>";
  25.                        echo "<label><input type=submit name=Submit value=Enviar></label>";
  26.                        echo "</p>";
  27.                        echo "</form></font></font>";
  28.                   }
  29.                   else{
  30.                        echo "<font face=Arial><h1>Contacto:</h1>";
  31.                        echo "<font color=white><p>Para contactarte con nosotros a través de nuestro Formulario Web tienes que estar registrado</p>";
  32.                        echo "<p>Clic <a href=registro.php>aquí</a> para Registrarse</p>";
  33.                        echo "<p>Si no deseas hacerlo, podés enviarnos un E-Mail a [email protected]</font></font>";
  34.                        }
  35.       ?>
  36.       </div>
  37. <?php
  38. include("footer.php");
  39. ?>
Supongo que el problema no está acá, sino en el enviar.php, asique se los dejo también.

enviar.php:
Código PHP:
Ver original
  1. <?php
  2. include ("header.php")
  3. ?>
  4. <div id="menu">
  5. <div id=menuborde>
  6. <?php include("menu.php"); ?>
  7. </div>
  8. </div>
  9. <div id="contenido">
  10. <?php
  11.  
  12. $nombre = $_POST['nombre'];
  13. $mail = $_POST['mail'];
  14. $asunto = $_POST['asunto'];
  15.  
  16. $header = 'From: ' . $mail . " \r\n";
  17. $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  18. $header .= "Mime-Version: 1.0 \r\n";
  19. $header .= "Content-Type: text/plain";
  20.  
  21. $mensaje = "Este mensaje fue enviado por " . $nombre . ", con el asunto de " . $asunto . " \r\n";
  22. $mensaje .= "Su e-mail es: " . $mail . " \r\n";
  23. $mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
  24. $mensaje .= "Enviado el " . date('d/m/Y', time());
  25.  
  26. $asunto = 'Contacto de Music-Roots';
  27.  
  28. mail($para, $asunto, utf8_decode($mensaje), $header);
  29.  
  30. echo "<center><font face=Arial color=white>Su email fue enviado a nuestras casillas de correo... Muchas gracias por ponerse en contacto con nosotros</center>";
  31. echo "<center><a href=index.php>Volver a la pagina principal</a></center></font>";
  32.  
  33. ?>
  34. </div>
  35. <?php
  36. include("footer.php");
  37. ?>

Puede ser que sea problema del hosting también? Cuando envio el formulario me da el mensaje "Su email fue enviado a (...)" como si estubiera todo ok, pero no lo envia... Gracias de antemano muchachos :)
  #2 (permalink)  
Antiguo 29/07/2011, 18:38
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Mi formulario de contacto no envia los emails

¿donde configuras el host y el tipo ejemplo smtp?

En ocaciones puedes tener problemas por esto cambia

Código PHP:
Ver original
  1. $mail = $_POST['mail'];

por


Código PHP:
Ver original
  1. $e_mail = $_POST['mail'];

en todo tu código, prueba y comenta
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #3 (permalink)  
Antiguo 29/07/2011, 19:34
 
Fecha de Ingreso: diciembre-2010
Mensajes: 180
Antigüedad: 13 años, 4 meses
Puntos: 5
Respuesta: Mi formulario de contacto no envia los emails

Cita:
Iniciado por skiper0125 Ver Mensaje
¿donde configuras el host y el tipo ejemplo smtp?

En ocaciones puedes tener problemas por esto cambia

Código PHP:
Ver original
  1. $mail = $_POST['mail'];

por


Código PHP:
Ver original
  1. $e_mail = $_POST['mail'];

en todo tu código, prueba y comenta
Ya lo hice y no pasó nada :/ Sigue igual... Es un script prefabricado, será por eso que no funciona? Por que falta la configuración del host y smtp?
Gracias por responder
  #4 (permalink)  
Antiguo 29/07/2011, 19:38
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Mi formulario de contacto no envia los emails

Cita:
Iniciado por SonrisaCs Ver Mensaje
Ya lo hice y no pasó nada :/ Sigue igual... Es un script prefabricado, será por eso que no funciona? Por que falta la configuración del host y smtp?
Gracias por responder
estas seguro que tu hosting ¿tiene habilitado esta función?
¿Que libreria usas PHPmailer o cual?
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #5 (permalink)  
Antiguo 29/07/2011, 19:49
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Mi formulario de contacto no envia los emails

te dejo este ejemplo con phpMailer 2.3

Código PHP:
Ver original
  1. <?php
  2.  
  3. $nombre = $_POST['nombre'];
  4. $e_mail = $_POST['mail'];
  5. $asunto = $_POST['asunto'];
  6. $asunto = 'Contacto de Music-Roots';
  7.  
  8.  
  9. $mail = new phpmailer();
  10. $mail->PluginDir = "tu_ruta/phpMailer_v2.3/";
  11. $mail->Mailer = "smtp";
  12. $mail->Host = "tu_host"; //ejemplo www.tudominio.com
  13. $mail->SMTPAuth = true;
  14. $mail->From = $para;
  15. $mail->FromName = $asunto;
  16. $mail->Timeout = 30;
  17. $mail->AddAddress($para);
  18. $mail->Subject = $asunto
  19. $mail->Body = "<b>Este mensaje fue enviado por " . $nombre . ", con el asunto de " . $asunto . " \r\n";
  20. $mail->Body.= "Su e-mail es: " . $e_mail . " \r\n";
  21. $mail->Body.= "Mensaje: " . $_POST['mensaje'] . " \r\n";
  22. $mail->Body.= "Enviado el " . date('d/m/Y', time());
  23. $exito = $mail->Send();
  24. $intentos=1;
  25. while ((!$exito) && ($intentos < 5)) {
  26.     sleep(5);
  27.     //echo $mail->ErrorInfo;
  28.     $exito = $mail->Send();
  29.     $intentos=$intentos+1; 
  30. }
  31. if(!$exito){
  32.     echo "Problemas enviando correo electrónico";
  33.     echo "<br/>".$mail->ErrorInfo;
  34. }else{
  35.     echo 'Correo enviado correctamente';
  36. }
  37.  
  38. ?>

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #6 (permalink)  
Antiguo 30/07/2011, 06:58
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 9 meses
Puntos: 181
Respuesta: Mi formulario de contacto no envia los emails

Pues antes de nada lo primero que deberias hacer es llamar al servicio de soporte de la empresa donde tienes el hosting y preguntarles si ellos tienen establecido algun limite para enviar correos desde un formulario. Algunas empresas por seguridad dejan desactivada la función para evitar que los bots saturen el sistema con correos basura. Una vez me ocurrio lo mismo, el script siempre lo habia usado sin problemas pero no me funcionaba en la pagina y ese era todo el problema. Lo unico que toco hacer fue validarme como usuario y cambiar una linea de código para darle mas seguridad al envio de correos.

Etiquetas: contacto, emails, envia, registro, formulario, usuarios
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 06:26.