Foros del Web » Programando para Internet » PHP »

problema para enviar un mail con un formulario!

Estas en el tema de problema para enviar un mail con un formulario! en el foro de PHP en Foros del Web. hola quiero que se me envie a mi correo un mail con los datos de un formulario que tiene varios campos de texto para introducir ...
  #1 (permalink)  
Antiguo 21/06/2009, 10:40
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
problema para enviar un mail con un formulario!

hola quiero que se me envie a mi correo un mail con los datos de un formulario que tiene varios campos de texto para introducir e probado estas dos formas de hacerlo pero no me funciona ninguna. paso a poner el codigo:

php 1 :

Código:
<?php

 if ($textname!="" and $textapellidos!="" and $textlocalidad!="" and $textprovincia!=""
 and $texttelefono!="" and $textfechanacimiento!="" and $textcuriculum!="")
 
  {
mail('micorreo arroba hotmalil com', 'Formulario de'.$textname.$textapellidos.$textlocalidad,$textname.$textapellidos.$textlocalidad.$textprovincia.$texttelefono.$textfechanacimiento.$textcurriculum);

 

 header('Location:paginaphp');exit();
 }
 ?>
php 2:

Código:
<?php
$mensaje=$textname.$textapellidos.$textlocalidad.$textname.$textapellidos.$textlocalidad.$textprovincia.$texttelefono.$textfechanacimiento.$textcurriculum;
 
 mail('micorreoarrobahotmailpuntocom, 'Formulario de', $mensaje);
 exit();
  ?>
y aqui el codigo javascript y el html form ke e usado:
Código:
<script type = "text/javascript" >
function formValid() {
if (document.forms[0].textname.value.length == 0) {
alert("es obligatorio introducir un nombre.");
return false;
}

if (document.forms[0].textapellidos.value.length == 0) {
alert("es obligatorio introducir sus apellidos.");
return false;
}

if (document.forms[0].textlocalidad.value.length == 0) {
alert("es obligatorio introducir su localidad.");
return false;
}

if (document.forms[0].texprovincia.value.length == 0) {
alert("es obligatorio introducir una provincia.");
return false;
}

if (document.forms[0].texttelefono.value.length == 0) {
alert("es obligatorio introducir un nombre.");
return false;
}

if (document.forms[0].textfechanacimiento.value.length == 0) {
alert("es obligatorio introducir tu fecha de nacimiento.");
return false;
}

if (document.forms[0].textcurriculum.value.length == 0) {
alert("es obligatorio introducir tu curriculum.");
return false;
}
 return true;
}
</script>
Código:
	  <form action="....php" onsubmit="return formValid();">
	  <ul>
	    <li> nombre <em>(*)</em>: 
	      <input id="textbox1" name="textname" type="text" /> 
	      </li>
	    <li> apellidos <em>(*)</em>: 
	      <input id="textbox2" name="textapellidos" type="text" /> 
	      </li>
	    <li>localidad <em>(*)</em>: 
	      <input id="textbox3" name="textlocalidad" type="text" /> 
	      </li>
	    <li> provincia <em>(*)</em>: 
	      <input id="textbox4" name="textprovincia" type="text" /> 
	      </li>
	    <li> telefono <em>(*)</em>: 
	      <input id="textbox5" name="texttelefono" type="text" /> 
	      </li>
	    <li> fecha de nacimiento <em>(*)</em>: 
	      <input id="textbox6" name="textfechanacimiento" type="text" /> 
	      </li>
	    <li>
	  curriculum <em>(*)</em>: <input id="textbox7" name="textcurriculum" type="text" /></li> </ul>
	  
	  <p> <input type="submit" value="enviar formulario"></p>
	  </form>
otro problema..uso el wampserver para tener php, mysql y servidor apache para ejecutar el php...y con el segundo codigo php que he puesto más arriba me da estos mensajes de error en el navegador:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\.........on line 4

haber si alguien me puede ayudar!!!!

gracias un saludo
  #2 (permalink)  
Antiguo 21/06/2009, 10:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: problema para enviar un mail con un formulario!

Adicionalmente a tu servidor web (Apache) y PHP, necesitas un servidor de correo electronico en tu PC para poder hacer uso de la función mail.

Saludos.
  #3 (permalink)  
Antiguo 21/06/2009, 14:08
Avatar de Barraca  
Fecha de Ingreso: octubre-2001
Ubicación: Dénia
Mensajes: 259
Antigüedad: 22 años, 5 meses
Puntos: 2
Respuesta: problema para enviar un mail con un formulario!

Puedes echarle un vistazo a esta web (está en inglés) http://www.110mb.com/forum/how-to-ma...-t27344.0.html que te lo explica

Un saludo [El "moderador" borró la firma con mi Web, gracias por nada!]

Última edición por Barraca; 24/06/2009 a las 09:35
  #4 (permalink)  
Antiguo 22/06/2009, 05:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 12
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: problema para enviar un mail con un formulario!

Te dejo el que yo uso, que a su vez lo cogi de aquí. Yo sólo uso la primera parte pero miralo tu, a mi me funciona perfecto:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
//Ejemplo adaptado de forosdelweb.com/f18/cojer-todas-las-variables-enviar-por-mail-683511
// coje las variables del formulario
$body = ' Petición recibida:<br /><br />';
foreach ( $_POST as $clave=>$valor ) {
$body .= $clave.': <b>'.$valor.'</b><br>';



}

$dest = '[email protected]';
$asunto = $_POST["form name"];
$cabeceras = "From: tudominio.ES\r\nContent-type: text/html\r\n";
mail($dest, $asunto , $body, $cabeceras);

// Si entramos es que todo se ha realizado correctamente

/* $link = mysql_connect("localhost","x","x");
mysql_select_db("cforms",$link); BORRAR LA BARRA Y * SI HACE FALTA ESTE CODIGO*/

// Con esta sentencia SQL insertaremos los datos en la base de datos
//mysql_query("INSERT {$_POST['nombre_tabla']} (nombre,apellidos,empresa,mail,telefono,nif,poblac ion,codigopostal)
//VALUES('{$_POST['Nombre']}','{$_POST['Apellidos']}','{$_POST['Empresa']}','{$_POST['Mail']}','{$_POST['Telefono']}','{$_POST['NIF']}','{$_POST['Poblacion']}','{$_POST['CP']}')",$link);

// Ahora comprobaremos que todo ha ido correctamente
//$my_error = mysql_error($link);
?>
<title>Formulario Enviado Correctamente</title>
</head>
<body>

</body>
</html>
  #5 (permalink)  
Antiguo 23/06/2009, 12:13
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: problema para enviar un mail con un formulario!

gatorv sabes de algun servidor de correo que pueda instalarme?.




frankedeke a ke te refieres con la primera parte del codigo?
no entiendo mucho de programacion..todavia sé muy poco de esto haber si consigo instalarme un servidor de correo y luego con los codigos ke me as pasado haber si lo consigo..

gracias
  #6 (permalink)  
Antiguo 23/06/2009, 12:22
 
Fecha de Ingreso: marzo-2009
Mensajes: 12
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: problema para enviar un mail con un formulario!

Cita:
Iniciado por rufus Ver Mensaje
gatorv sabes de algun servidor de correo que pueda instalarme?.




frankedeke a ke te refieres con la primera parte del codigo?
no entiendo mucho de programacion..todavia sé muy poco de esto haber si consigo instalarme un servidor de correo y luego con los codigos ke me as pasado haber si lo consigo..

gracias
Hola, me refiero a esta parte sólo:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
//Ejemplo adaptado de forosdelweb.com/f18/cojer-todas-las-variables-enviar-por-mail-683511
// coje las variables del formulario
$body = ' Petición recibida:<br /><br />';
foreach ( $_POST as $clave=>$valor ) {
$body .= $clave.': <b>'.$valor.'</b><br>';}
$dest = '[email protected]';
$asunto = $_POST["form name"];
$cabeceras = "From: tudominio.ES\r\nContent-type: text/html\r\n";
mail($dest, $asunto , $body, $cabeceras);
?>
</head>
<body>

</body>
</html>

Lo demás no funciona porque está desactivado (//) pero puedes activarlo y ver qué pasa.

Con esto no necesitas servidor de correo adicional si tu alojamiento soporta mail. Y menos instalado en ningún PC.

Recuerda que debes poner al final en el script del formulario include mail.php o como llames al archivo que crees.

Saludos.
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 20:18.