Foros del Web » Programando para Internet » PHP »

formulario no es enviado por e-mail

Estas en el tema de formulario no es enviado por e-mail en el foro de PHP en Foros del Web. Hola comunidad! El tema es el siguiente: Cansado de mandar un mensaje con mailto: y que el mismo sea enviado por outlook o aquel que ...
  #1 (permalink)  
Antiguo 21/07/2009, 13:57
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 9 meses
Puntos: 269
formulario no es enviado por e-mail

Hola comunidad!

El tema es el siguiente: Cansado de mandar un mensaje con mailto: y que el mismo sea enviado por outlook o aquel que tenga configurado el usuario, es que quiero ahora dar un paso mas y que ya no aparezca nada entre el formulario y mi cuenta de mail, es decir, que el usuario pueda enviarme un email solo haciendo click en "enviar" . Para ello cree dos paginas independientes:

la primera es una pagina html con el formulario
la segunda es una pagina php

cuando intento dejarles el codigo no me lo permite el foro porque soy nuevo y no tengo 30 mensajes publicados.

Vendo mi alma al que pueda darme una mano en este asunto.

Desde ya muchas gracias a toda la comunidad, espero algun dia poder estar de su lado y ayudar al igual que ustedes lo hicieron siempre conmigo.

Saludos
  #2 (permalink)  
Antiguo 21/07/2009, 13:58
 
Fecha de Ingreso: julio-2009
Mensajes: 118
Antigüedad: 14 años, 9 meses
Puntos: 2
Respuesta: formulario no es enviado por e-mail

pega el código sin poner los http:// y te dejará postearlo
  #3 (permalink)  
Antiguo 21/07/2009, 17:33
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 9 meses
Puntos: 269
Respuesta: formulario no es enviado por e-mail

Cita:
Iniciado por albert1980 Ver Mensaje
pega el código sin poner los y te dejará postearlo

bien, primero el formulario en un documento html:


<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form action="contactenos.php" method="post">
Nombres: <input name="nombres" type="text"><br>
Empresa: <input name="empresa" type="text"><br>
E-mail: <input name="email" type="text"><br>
Telefono: <input name="telefono" type="text"><br>
Comentarios:
<textarea name="comentarios" cols="30" rows="5">
</textarea><br>
<input name="action" type="hidden" value="send">
<input name="enviar" type="submit" value="Enviar">
</form>
</body>
</html>

... y por otra parte un documento php:


<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<?php

if (isset($_POST['action'])) {
$dest = "[email protected]";
$head = "From: ".$_POST['email']."\r\n";
$head.= "To: [email protected]\r\n";
// Ahora creamos el cuerpo del mensaje
$msg = "------------------------------- \n";
$msg.= " Comentarios \n";
$msg.= "------------------------------- \n";
$msg.= "NOMBRE: ".$_POST['nombres']."\n";
$msg.= "EMPRESA: ".$_POST['empresa']."\n";
$msg.= "EMAIL: ".$_POST['email']."\n";
$msg.= "TELEFONO: ".$_POST['telefono']."\n";
$msg.= "ANEXO: ".$_POST['anexo']."\n";
$msg.= "HORA: ".date("h:i:s a ")."\n";
$msg.= "FECHA: ".date("D, d M Y")."\n";
$msg.= "IP: ".$REMOTE_ADDR."\n";
$msg.= "------------------------------- \n\n";
$msg.= $_POST['comentarios']."\n\n";
$msg.= "------------------------------- \n";
$msg.= " Mensaje creado por cristian \n";
// Finalmente enviamos el mensaje
if (mail($dest, "Comentarios", $msg, $head)) {
$aviso = "Su mensaje fue enviado.";
} else {
$aviso = "Error de envío.";
}
}
?>
</body>
</html>
  #4 (permalink)  
Antiguo 21/07/2009, 18:11
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: formulario no es enviado por e-mail

envezde usar un IF para saber si se envio, usa "or die()"


Código PHP:

mail
($para$asunto$mensaje$cabeceras) or 
        die(
Ah ocurrido un error);

echo 
'MAIL ENVIADO'

Cambia la primera linea del script "if (isset($_POST['action'])) {" por "if (isset($_POST['enviar'])) {"

Proba con eso...

Última edición por bioxido; 21/07/2009 a las 18:17
  #5 (permalink)  
Antiguo 22/07/2009, 09:43
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 9 meses
Puntos: 269
Respuesta: formulario no es enviado por e-mail

Cita:
Iniciado por bioxido Ver Mensaje
envezde usar un IF para saber si se envio, usa "or die()"


Código PHP:

mail
($para$asunto$mensaje$cabeceras) or 
        die(
Ah ocurrido un error);

echo 
'MAIL ENVIADO'

Cambia la primera linea del script "if (isset($_POST['action'])) {" por "if (isset($_POST['enviar'])) {"

Proba con eso...

ya incorporé el codigo y el documento php me queda asi:

<?php

mail([email protected], $asunto, $mensaje, $cabeceras) or
die(Ah ocurrido un error);

if (isset($_POST['enviar'])) {
$dest = "[email protected]";
$head = "From: ".$_POST['email']."\r\n";
$head.= "To: [email protected]\r\n";
// Ahora creamos el cuerpo del mensaje
$msg = "------------------------------- \n";
$msg.= " Comentarios \n";
$msg.= "------------------------------- \n";
$msg.= "NOMBRE: ".$_POST['nombres']."\n";
$msg.= "EMPRESA: ".$_POST['empresa']."\n";
$msg.= "EMAIL: ".$_POST['email']."\n";
$msg.= "TELEFONO: ".$_POST['telefono']."\n";
$msg.= "ANEXO: ".$_POST['anexo']."\n";
$msg.= "HORA: ".date("h:i:s a ")."\n";
$msg.= "FECHA: ".date("D, d M Y")."\n";
$msg.= "IP: ".$REMOTE_ADDR."\n";
$msg.= "------------------------------- \n\n";
$msg.= $_POST['comentarios']."\n\n";
$msg.= "------------------------------- \n";
$msg.= " Mensaje creado por la comunidad foros del web \n";
// Finalmente enviamos el mensaje
if (mail($dest, "Comentarios", $msg, $head)) {
$aviso = "Su mensaje fue enviado.";
} else {
$aviso = "Error de envío.";
}
}

echo 'MAIL ENVIADO';
?>


pero como tengo vinculado el formulario con el documento php (en el cual hay solo codigo php) cuando le doy enviar me aparece la página en blanco y el siguiente mensaje :

Parse error: syntax error, unexpected '@' in /home/inicio27/public_html/contactenos.php on line 11

¿Estaré creando una vinculacion innecesaria? es decir, ¿hace falta que vincule un .phpp. con un .html o puedo hacerlo en el mismo documento? y ¿tengo que configurar algun numero de puerto? ¿php requiere que configure el servidor de alguna forma? Porque el mail no me llegua a mi casilla que es [email protected]

si quieren ver como funciona les dejo el link al sitio: inicio2770 . com . ar
  #6 (permalink)  
Antiguo 01/09/2009, 05:50
Avatar de cristian_cena
Colaborador
 
Fecha de Ingreso: junio-2009
Mensajes: 2.244
Antigüedad: 14 años, 9 meses
Puntos: 269
Respuesta: formulario no es enviado por e-mail

La solución está aquí : http://www.forosdelweb.com/f18/envia...e-mail-730912/ y fué dada por bióxido, a quien agradezco

Última edición por cristian_cena; 01/09/2009 a las 08:51
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 16:39.