Foros del Web » Programando para Internet » PHP »

enviar formulario al correo

Estas en el tema de enviar formulario al correo en el foro de PHP en Foros del Web. Hola quisiera que me ayudaran con este código, se supone que me tiene k llegar un mail con lo k llené a mi correo pero ...
  #1 (permalink)  
Antiguo 27/08/2006, 16:19
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 11 años, 5 meses
Puntos: 0
Exclamación enviar formulario al correo

Hola quisiera que me ayudaran con este código, se supone que me tiene k llegar un mail con lo k llené a mi correo pero lo extraño es k me sale la confirmacion que se ha enviado el mail a mi correo pero no llega nada.

Código PHP:
<html>
<head>
    <title>Mándanos tus comentarios</title>
</head>

<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?php
if (!$HTTP_POST_VARS)
{
?>
  <form action="mail.php" method="post">
  <table>
  <tr>
  <td>Nombre:</td>
  <td><input type="text" name="nombre" size="16"></td>
  </tr>
  <tr>
  <td>Email:</td>
  <td><input type="text" name="email" size="16"></td>
  </tr>
  <tr>
  <td>Comentarios:</td>
  <td><textarea name="coment" cols="32" rows="6"></textarea></td>
  </tr>
  <tr><td colspan="2" align="center"><input type="submit" value="Enviar"></td></tr>
  </form>
<?
}
else
{
    
//Estoy recibiendo el formulario, compongo el cuerpo
    
$cuerpo "Formulario enviado\n";
    
$cuerpo .= "Nombre: " .$HTTP_POST_VARS["nombre"]. "\n";
    
$cuerpo .= "Email: " .$HTTP_POST_VARS["email"]. "\n";
    
$cuerpo .= "Comentarios: " .$HTTP_POST_VARS["coment"]. "\n";

    
//mando el correo...
    
mail("[email protected]","Formulario recibido",$cuerpo);

    
//doy las gracias por el envío
    
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
</body>
</html>
PD: Lo estoy colgando en un servidor web gratuito, iespana.
  #2 (permalink)  
Antiguo 27/08/2006, 18:33
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 11 años, 4 meses
Puntos: 0
Veo que estás dando por sentado que el correo se ha enviado bien y, si embargo, no analizas el valor devuelto por mail. Deberías montarlo así

if (mail(...))
echo "gracias, bla bla bla...";
else
echo "Error tratando de mandar mail...";

El error más común que puedes tener con mail es que no esté bien configurado el agente de correo en el php.ini. Y como dices que lo has colgado en un servidor gratuíto lo más probable es que ni siquiera tengas este servicio. Analiza el error que devuelve mail y saldrás de dudas.
  #3 (permalink)  
Antiguo 27/08/2006, 18:34
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 12 años, 5 meses
Puntos: 28
se me ocurren un par de cosas posibles...

1. que tu archivo no se llame mail.php
2. que Iespana no soporte la función mail() de php (puedes preguntarles)
3. que no hayas revisado la "papelera de spam" en hotmail, ya que hotmail muchas veces manda los correos de servidores gratuitos (o incluso privados) a la bandeja de "no deseados"...

suerte, cualquier cosa, vuelve a postear!

__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #4 (permalink)  
Antiguo 27/08/2006, 18:35
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 12 años, 5 meses
Puntos: 28
GikaJavi, casi que nos hemos chocado... (30segundos de dif... jeje) un saludo!
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #5 (permalink)  
Antiguo 27/08/2006, 18:57
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 11 años, 5 meses
Puntos: 0
Exclamación

pues introduje el if y me sigue diciendo que se envio el correo.
Código PHP:
<html>
<head>
    <title>Mándanos tus comentarios</title>
</head>

<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?php
if (!$HTTP_POST_VARS)
{
?>
  <form action="correo.php" method="post">
  <table>
  <tr>
  <td>Nombre:</td>
  <td><input type="text" name="nombre" size="16"></td>
  </tr>
  <tr>
  <td>Email:</td>
  <td><input type="text" name="email" size="16"></td>
  </tr>
  <tr>
  <td>Comentarios:</td>
  <td><textarea name="coment" cols="32" rows="6"></textarea></td>
  </tr>
  <tr><td colspan="2" align="center"><input type="submit" value="Enviar"></td></tr>
  </form>
<?
}
else
{
    
//Estoy recibiendo el formulario, compongo el cuerpo
    
$cuerpo "Formulario enviado\n";
    
$cuerpo .= "Nombre: " .$HTTP_POST_VARS["nombre"]. "\n";
    
$cuerpo .= "Email: " .$HTTP_POST_VARS["email"]. "\n";
    
$cuerpo .= "Comentarios: " .$HTTP_POST_VARS["coment"]. "\n";

    
//mando el correo...
    
$resultado=mail("[email protected]","Formulario recibido",$cuerpo);

    if(
$resultado==1)
    
//doy las gracias por el envío
    
{echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";}
    else
    {echo 
"Error al enviar.";}
}
?>
</body>
</html>
Como puedo saber si iespana no soporta la funcion mail????
  #6 (permalink)  
Antiguo 27/08/2006, 19:05
Avatar de Anarninquë
Colaborador
 
Fecha de Ingreso: julio-2005
Ubicación: MVD | Uruguay
Mensajes: 1.096
Antigüedad: 12 años, 5 meses
Puntos: 28
Cita:
Iniciado por fjchavez Ver Mensaje
Como puedo saber si iespana no soporta la funcion mail????
Cita:
Iniciado por Anarninqë
2. que Iespana no soporte la función mail() de php (puedes preguntarles)
__________________
Marcelo Ferreiro - Desarrollador Web
Mi Web - Pixelar.me
  #7 (permalink)  
Antiguo 27/08/2006, 19:19
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 11 años, 5 meses
Puntos: 0
es k pense k dandole phpinfo y ver algo en su configuracion era suficiente
  #8 (permalink)  
Antiguo 27/08/2006, 20:20
 
Fecha de Ingreso: julio-2006
Mensajes: 114
Antigüedad: 11 años, 5 meses
Puntos: 0
Exclamación

Dice algo de que debo activar la autentificación SMTP. . Como es eso???
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 00:35.