Foros del Web » Programando para Internet » PHP »

Formulario de envio de correo....???

Estas en el tema de Formulario de envio de correo....??? en el foro de PHP en Foros del Web. Voy a explicarme primero.. Estoy haciendo un sitio web en el cual necesito q los usuarios puedan enviarme un correo sin necesidad de usar el ...
  #1 (permalink)  
Antiguo 20/11/2003, 18:23
 
Fecha de Ingreso: noviembre-2003
Mensajes: 403
Antigüedad: 14 años, 1 mes
Puntos: 4
Formulario de envio de correo....???

Voy a explicarme primero..
Estoy haciendo un sitio web en el cual necesito q los usuarios puedan enviarme un correo sin necesidad de usar el outlock experss, el cual si no lo tienes configurado es bastante problematico...

Pensado en la comodidad de tdos mis usuarios he visto en varias paginas como usando codigos php puedes generar una formularios en el cual los usuarios puedan ingresar en nombre, el correo, y asunto y listo los usarios me envian un correo a una direccion preescrita...

Buscando y buscando en internet logre conseguir este codigo.. PEnse q era el q necesitaba
Cita:
<html>
<head>
<title>Sugerencias</title>
</head>
<body bgcolor="#FFFFFF">
<?php
// Si se ha cubierto y enviado el formulario lo procesamos
if ($submit == 'enviar')
{
// Poner aquí la dirección de correo electrónico a la
// que se remitirá el contenido del formulario
$to = "[email protected]";
// Asunto del correo. También podríamos dejar que lo
// rellenase el usuario en el formulario
$subject = "Sugerencias vía web";
// Contenido del mensaje. Ponemos delante el
// remitente
$message = "$nombre ($email)\n\n$comentarios\n";
// Cabecera del mensaje. No se verá, pero es necesario
// para que nos funcione todo bien
$headers = "From: $nombre\nTo: Centro\nReply-To: $email";
// Envío del mensaje
if (mail($to, $subject, $message, $headers))
{
// Ha funcionado
print "<p>Su formulario ha sido remitido.</p>";
}
else
{
// No ha funcionado
print "<p>No se ha podido remitir el formulario.</p>";
print "<p><a href=javascript:history.back()>Volver</a></p>";
}
}
// Si no se ha procesado el formulario es que aún no lo hemos
// presentado, así que hagámoslo
else
{
?>

<p>Envío de sugerencias</p>

<form action="<?php echo $PHP_SELF ?>" method="post">
<table width="400" border="0" cellspacing="1" cellpadding="2">
<tr>
<td>Nombre</td>
<td><input type="text" name="nombre" size="35"></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" size="35"></td>
</tr>
<tr>
<td>Comentarios</td>
<td><textarea cols="45" rows="15" name="comentarios"></textarea></td>
</tr>
<tr>
<td colspan="2"><input type="submit" name="submit" value="enviar"></td>
</tr>
</table>
</form>

<?
}
?>

</body>
</html>
Pero al subirlo a mi server ( si acepta modulos php) nunca logre enviarme un correo.. :S

...
Si alguien sabe como solucionarlo, pls necesito esa ayuda... alguien q pueda pls...
Si quieren saber de donde lo consegui fue aka
[url]http://www.educastur.princast.es/usuarios/formmail.php[/url
  #2 (permalink)  
Antiguo 20/11/2003, 18:25
 
Fecha de Ingreso: noviembre-2003
Mensajes: 403
Antigüedad: 14 años, 1 mes
Puntos: 4
ah y por cierto.. por si piensan q fue eso

en la variable
$to si coloque mi correo...

pero fue la unica q pude editar bien..
  #3 (permalink)  
Antiguo 21/11/2003, 05:47
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Una recomendacion, cuando digas que no te ha funcionado un script, especifica que es lo que te muestra. Si te salen mensajes de error, copia el mensaje de error. Si el script muestra mensajes de exito/fracaso (como en este caso), indica cual es el que muestra. O si tendria que darte una salida, y te da otra, indica que salida te muestra.

En este tema de la funcion mail(), el servidor debe estar configurado para mandar emails. Si no lo esta, en este caso te mostraria el mensaje "No se ha podido remitir el formulario". Puede que tu servidor no te deje enviar emails desde PHP. Preguntale a tu hosting.

Si el problema es que el email te llega, pero sin los datos, puede ser porque tengas PHP configurado con register_globals a OFF (miralo en el phpinfo()). Si es asi, para acceder a las varibles que llegan del formulario debes recogerlos con $_POST.

Y si es otro tu problema, por favor, especificalo.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 21/11/2003, 15:57
 
Fecha de Ingreso: noviembre-2003
Mensajes: 403
Antigüedad: 14 años, 1 mes
Puntos: 4
Si el problema es q me dice..

Cita:
No se ha podido remitir el formulario
en una ventana aparte
....

No se... si sera eso de q dices q si puede enviar e-mails..

Se q soporta ficheros php... me supongo q todo tipo de codigos php..
pero de verdad no se... puede ser otra cosa.. algun error de variables o algo asi..????

algo q no configure bien o algo asi..
  #5 (permalink)  
Antiguo 21/11/2003, 16:24
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Si te muestra ese mensaje de error, es que mail() a devuelto false, es decir, ha habido un fallo y no ha podido mandar el mensaje al sendmail o al SMTP. Mira en el phpinfo() los valores de las directivas: SMTP y sendmail_path. Si no tienen valor, es posible que ese servidor no este configurado para enviar emails.

Si estas en un hosting, preguntales si soportan la funcion mail(), o si requiere algo especial para funcionar.

PHP es tan flexible que cada hosting puede configurarlo de la forma que le de la gana, deshabilitando las funciones que que quiera. Normalmente lo hacen para que sea lo mas seguro posible.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 19:42.