Foros del Web » Programando para Internet » PHP »

Funcion Mail PHP no funciona

Estas en el tema de Funcion Mail PHP no funciona en el foro de PHP en Foros del Web. Tengo este form predeterminado de una plantilla HTML CSS y no tenia definido la funcon php para enviar el mail, asi que mirando tutoriales he ...
  #1 (permalink)  
Antiguo 14/05/2015, 05:18
Avatar de MicroHack  
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona
Mensajes: 153
Antigüedad: 17 años, 7 meses
Puntos: 0
Pregunta Funcion Mail PHP no funciona

Tengo este form predeterminado de una plantilla HTML CSS y no tenia definido la funcon php para enviar el mail, asi que mirando tutoriales he creado yo la funcion pero no me llega el correo en ningun momento, he revisado el codigo varias veces pero no entiendo que falla.

FORMULARIO HTML CSS
Código:
<div class="box-contact">
    <h3> consultas:</h3>
    <form id="contact-form" method="post" action="">
      <div class="success"> Consulta Enviada! <strong>Pronto nos pondremos en contacto con usted, gracias.</strong> </div>
      <fieldset>
        <div class="coll-1">
          <div>
            <div class="form-txt">su nombre:</div>
            <label class="name">
              <input type="text" name="name">
              <span class="error">*Esto no es un nombre valido.</span> <span class="empty">*Campo Requerido.</span> </label>
            <div class="clear"></div>
          </div>
          <div>
            <div class="form-txt">telefono:</div>
            <label class="phone">
              <input type="tel" name="phone">
              <span class="error">*Telefono no valido.</span> <span class="empty">*Campo Requerido.</span> </label>
            <div class="clear"></div>
          </div>
          <div>
            <div class="form-txt">Email:</div>
            <label class="email">
              <input type="email" name="email">
              <span class="error">*E-mail no valido.</span> <span class="empty">*Campo Requerido.</span> </label>
            <div class="clear"></div>
          </div>
        </div>
        <div class="coll-2">
          <div>
            <div class="form-txt">mensaje:</div>
            <label class="message">
              <textarea></textarea>
              <span class="error">*Mensaje demasiado corto.</span> <span class="empty">*Campo Requerido.</span> </label>
            <div class="clear"></div>
          </div>
        </div>
        <div class="clear"></div>
        <div class="btns"> <a class="btn" data-type="reset">limpiar</a> <a class="btn" data-type="submit" name="submit"> enviar</a> </div>
      </fieldset>
    </form>
  </div>
FUNCION MAIL DE PHP
Código:
<?php

if(isset($_POST['submit'])) 
{
    $from = $_POST['name'];
    $subject = "Mail desde la pagina web";
    $phone = $_POST['phone'];
    $to = "[email protected]";

mail($to, $subject, $phone);
}
?>
  #2 (permalink)  
Antiguo 14/05/2015, 06:21
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Funcion Mail PHP no funciona

Estas probando en una maquina con linux o un hosting?
  #3 (permalink)  
Antiguo 14/05/2015, 06:22
Avatar de MicroHack  
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona
Mensajes: 153
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Funcion Mail PHP no funciona

Cita:
Iniciado por enlinea777 Ver Mensaje
Estas probando en una maquina con linux o un hosting?
En un hosting Apache
  #4 (permalink)  
Antiguo 14/05/2015, 07:01
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Funcion Mail PHP no funciona

de casualidad es de registro gratuito?
ellos bloquean esta funcion
  #5 (permalink)  
Antiguo 14/05/2015, 08:58
Avatar de MicroHack  
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona
Mensajes: 153
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Funcion Mail PHP no funciona

Cita:
Iniciado por enlinea777 Ver Mensaje
de casualidad es de registro gratuito?
ellos bloquean esta funcion
Es de pago, y la funcion no esta bloqueada, eso lo he comprobado usando el codigo en otro php de forma más simple, yo pienso que hay un error de syntaxis pero no lo veo, tanto en PHP y/o en HTML del form.
  #6 (permalink)  
Antiguo 14/05/2015, 09:17
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Funcion Mail PHP no funciona

Ya verificaste que realmente estés enviando los datos del formulario al script indicado ?
Código HTML:
Ver original
  1. <form id="contact-form" method="post" action="">
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 14/05/2015, 11:04
Avatar de MicroHack  
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona
Mensajes: 153
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Funcion Mail PHP no funciona

Cita:
Iniciado por hhs Ver Mensaje
Ya verificaste que realmente estés enviando los datos del formulario al script indicado ?
Código HTML:
Ver original
  1. <form id="contact-form" method="post" action="">
No se supone que la funcion isset de PHP lo comprueba en la siguiente linea?:

Código:
if(isset($_POST['submit']))
  #8 (permalink)  
Antiguo 14/05/2015, 11:39
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Funcion Mail PHP no funciona

No, en el action se especifica en donde se va a procesar lo que envíes por post, si tu script se llama por decir algo eviar_mail.php tu form luciría algo así.
Código HTML:
Ver original
  1. <form id="contact-form" method="post" action="enviar_mail.php">
recuerda el form no sabe a donde quieres enviar la petición si no se lo especificas.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #9 (permalink)  
Antiguo 14/05/2015, 11:41
Avatar de MicroHack  
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona
Mensajes: 153
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Funcion Mail PHP no funciona

Cita:
Iniciado por hhs Ver Mensaje
No, en el action se especifica en donde se va a procesar lo que envíes por post, si tu script se llama por decir algo eviar_mail.php tu form luciría algo así.
Código HTML:
Ver original
  1. <form id="contact-form" method="post" action="enviar_mail.php">
recuerda el form no sabe a donde quieres enviar la petición si no se lo especificas.
Claro, pero no he querido hacer otro archivo php solo con esa funcion, he integrado el codigo dentro del mismo archivo, por eso el action"" esta vacio...Pense que eso funcionaba, al menos lo hace en los tutoriales que he visto.
  #10 (permalink)  
Antiguo 14/05/2015, 11:48
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Funcion Mail PHP no funciona

bueno creo que debes debuguear
con var_dump() y/o echo
  #11 (permalink)  
Antiguo 14/05/2015, 11:51
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Funcion Mail PHP no funciona

prueba esto en tu mail de php
Código PHP:
<?php

var_dump
($_POST);
if(isset(
$_POST['submit'])) 
{
    
$from $_POST['name'];
    
$subject "Mail desde la pagina web";
    
$phone $_POST['phone'];
    
$to "[email protected]";

$respuesta=mail($to$subject$phone);
var_dump($respuesta);

}

?>
que muestra comor esultado????
  #12 (permalink)  
Antiguo 14/05/2015, 11:52
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Funcion Mail PHP no funciona

Cita:
Claro, pero no he querido hacer otro archivo php solo con esa funcion, he integrado el codigo dentro del mismo archivo, por eso el action"" esta vacio...Pense que eso funcionaba, al menos lo hace en los tutoriales que he visto.
En serio ? ya probaste usando un var_dump($_POST), nos puedes decir que te arroja por favor ?
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #13 (permalink)  
Antiguo 14/05/2015, 15:30
Avatar de MicroHack  
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona
Mensajes: 153
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Funcion Mail PHP no funciona

Cita:
Iniciado por hhs Ver Mensaje
En serio ? ya probaste usando un var_dump($_POST), nos puedes decir que te arroja por favor ?
Pues aqui teneis el resultado de lo que me da:

http://restaurantcanpages.es/contacto.php

¿Que significa esto?
  #14 (permalink)  
Antiguo 15/05/2015, 06:28
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Funcion Mail PHP no funciona

que no estas usando la pagina para enviar el mail
esta mandando los datos por ajax a
http://restaurantcanpages.es/bat/MailHandler.php
  #15 (permalink)  
Antiguo 15/05/2015, 06:30
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 15 años, 11 meses
Puntos: 127
Respuesta: Funcion Mail PHP no funciona

debes cambiar el destino en el fichero
http://restaurantcanpages.es/js/forms.js
  #16 (permalink)  
Antiguo 15/05/2015, 07:32
Avatar de MicroHack  
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona
Mensajes: 153
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Funcion Mail PHP no funciona

Cita:
Iniciado por enlinea777 Ver Mensaje
debes cambiar el destino en el fichero
http://restaurantcanpages.es/js/forms.js

Pero es que repito, NO hay archivo donde enviar los datos ya que he incluido el codigo php con la funcion mail "dentro" del mismo archivo.

En que linea de codigo dice que esta enviando los datos por ajax a ese enlace? no he entendido donde quieres que cambie el destino, ¿en el atributo action de la etiqueta del form?
  #17 (permalink)  
Antiguo 15/05/2015, 07:41
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Funcion Mail PHP no funciona

enlinea777 se refieres a que verifiques si estos datos son correctos en el script form.js
Código Javascript:
Ver original
  1. mailHandlerURL:'bat/MailHandler.php',
  2. ownerEmail:'[email protected]',
Al parecer tu formulario se esta enviando por ajax y es muy probable que el envío de los datos lo este haciendo a otra parte que no es la que esperabas.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #18 (permalink)  
Antiguo 15/05/2015, 11:18
Avatar de MicroHack  
Fecha de Ingreso: agosto-2006
Ubicación: Barcelona
Mensajes: 153
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Funcion Mail PHP no funciona

Cita:
Iniciado por hhs Ver Mensaje
enlinea777 se refieres a que verifiques si estos datos son correctos en el script form.js
Código Javascript:
Ver original
  1. mailHandlerURL:'bat/MailHandler.php',
  2. ownerEmail:'[email protected]',
Al parecer tu formulario se esta enviando por ajax y es muy probable que el envío de los datos lo este haciendo a otra parte que no es la que esperabas.
Vaaaale ahora entiendo :D

Acabo de comprobar el form.js y SI que contiene esas dos lineas que dices, ¿que deberia hacer? borrarlas?

Etiquetas: 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 12:53.