Foros del Web » Programando para Internet » PHP »

¿como enviar un formulario a un correo por php?

Estas en el tema de ¿como enviar un formulario a un correo por php? en el foro de PHP en Foros del Web. Tengo este problema: Despues de ver que mandar un formulario a un correo con html era una mala opcion, decidi ver como enviar el formulario ...
  #1 (permalink)  
Antiguo 13/11/2009, 15:41
 
Fecha de Ingreso: septiembre-2009
Mensajes: 50
Antigüedad: 14 años, 7 meses
Puntos: 0
¿como enviar un formulario a un correo por php?

Tengo este problema:

Despues de ver que mandar un formulario a un correo con html era una mala opcion, decidi ver como enviar el formulario por php y para probar cree un formulario pero al momento de dar enviar no me envia nada a mi correo ¿a que se puede deber esto? Este es el codigo de la pagina:

<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?
if (!$HTTP_POST_VARS){
?>
<form action="envia_form_php.php" method=post>
Nombre: <input type=text name="nombre" size=16>
<br>
Email: <input type=text name=email size=16>
<br>
Comentarios: <textarea name=coment cols=32 rows=6></textarea>
<br>
<input type=submit value="Enviar">
</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("correo","Formulario recibido",$cuerpo);

//doy las gracias por el envío
echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
}
?>
</body>

Tambien me dicen que debo configurar el php.ini pero no se como hacer esto ¿como lo puedo hacer?

Espero me puedan ayudar, ya que es algo que realmente necesito saber hacer, como enviar los formularios.

Saludos
  #2 (permalink)  
Antiguo 13/11/2009, 20:06
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: ¿como enviar un formulario a un correo por php?

y tu hosting tiene habilitada la opción mail ... ?? si lo tienes en tu pc o pruebas en tu pc, tiene shabiitada la opción y un smtp??
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 13/11/2009, 21:25
 
Fecha de Ingreso: septiembre-2009
Mensajes: 50
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Cita:
Iniciado por urgido Ver Mensaje
y tu hosting tiene habilitada la opción mail ... ?? si lo tienes en tu pc o pruebas en tu pc, tiene shabiitada la opción y un smtp??
Lo que pasa es que no se como habilitarla, ¿podrias ayudarme con eso?

Tambien hay algo que no tengo muy claro, es la propiedad action, me han dicho que hay la direccion donde se mandaran los datos para ser procesados y luego mandados a el mail, pero ¿ cual debe de ser esa pagina? ¿puede ser cualquiera o como es que funciona eso bien?

Espero me puedas ayudar, ya que en verdad necesito el formulario.

Saludos
  #4 (permalink)  
Antiguo 13/11/2009, 21:30
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 2 meses
Puntos: 25
Respuesta: ¿como enviar un formulario a un correo por php?

en tu caso seria $_SERVER['PHP_SELF'] lo cual indica que la acción es en la misma página... ahora bien intenta con el código que te he puesto, lo he medio púlido, cambia solo el correo del destinatario y dime si te anda.

Si no, dime si usas linux/windows. Saludos


Código PHP:
<body bgcolor="#cccc66" text="#003300" link="#006060" vlink="#006060">
<?
if (!(isset($_POST['enviar']))){
?>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method=post>
Nombre: <input type="text" name="nombre" size=16>
<br>
Email: <input type="text" name="email" size=16>
<br>
Comentarios: <textarea name="coment" cols="32" rows="6"></textarea>
<br>
<input type="submit" value="Enviar" name="enviar">
</form>
<?
}else{
//Estoy recibiendo el formulario, compongo el cuerpo
$cuerpo "Formulario enviado\n";
$cuerpo .= "Nombre: " $_POST["nombre"] . "\n";
$cuerpo .= "Email: " $_POST["email"] . "\n";
$cuerpo .= "Comentarios: " $_POST["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>
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 15/11/2009, 23:24
 
Fecha de Ingreso: noviembre-2009
Mensajes: 3
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

yo tambientengo el mismo problema por favor necesito un poco dea ayuda.

les pong el codigo que uso:

<?php
$nombre = $_POST['nombre'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
$remitente = $_POST['remitente'];
$tel_ofice = $_POST['tel_ofice'];
$celular = $_POST['celular'];



$header = 'From: ' .$email. " \r\n";
$header .= "X-Mailer: PHP/" .phpversion(). " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";

$message = "Este mensaje fue enviado por " .$nombre."" .$lastname.", de la empresa " .$remitente. " \r\n";
$message .= "Su e-mail es: " .$email. " \r\n";
$message .= "Telefono de oficina: " .$tel_ofice. " \r\n";
$message .= "Celular: " .$celular. " \r\n";

$message .= "Mensaje: " .$_POST['message']. " \r\n";
$message .= "Enviado el " .date('d/m/Y', time());

$para = '[email protected]';
$asunto = 'Atencion a ventas';

mail($para, $asunto, utf8_decode($message), $header);

echo 'Gracias por tu envio en breve nos pondremos en contacto';
?>

igual no manda los datos capturados en el correo
  #6 (permalink)  
Antiguo 15/11/2009, 23:26
 
Fecha de Ingreso: noviembre-2009
Mensajes: 3
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

este el form en html:

<FORM action="envio.php" method=post>

*Campos Obligatorios

<table class="formul" border="1">

<tr>
<td>* Nombre:</td>
<td><input type="text" id=" nombre " /></td>
</tr>
<tr>
<td>Apellido:</td>
<td><input type="text" id=" lastname " /></td>
</tr>
<tr>
<td>* E-Mail:</td>
<td><input type="text" id=" email" /></td>
</tr>
<tr>
<td>Telefono Oficina:</td>
<td><input type="text" id=" tel_ofice" /></td>
</tr>
<tr>
<td>* Telefono Movil:</td>
<td><input type="text" id=" celular" /></td>
</tr>
<tr>
<td>Empresa:</td>
<td><input type="text" id=" remitente " /></td>
</tr>
<tr>
<td>* Mensaje:</td>
<td><textarea name="text" id=" message "rows="" cols="" ></textarea></td>
</tr>
</table>
<br />
<input type="submit" id="submit" name="send" value="Enviar &raquo;" title="Espera un momento para confirmar su mensaje" />
</FORM>
  #7 (permalink)  
Antiguo 17/11/2009, 14:12
 
Fecha de Ingreso: septiembre-2009
Mensajes: 50
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Sigue sin enviarme nada, con todo y que copie y pegue el codigo que me pasaste, ahora, despues de que envio el formulario, me aparece una pagina que dice esto:

Forbidden
You don't have permission to access /libreria/< on this server.

Apache/2.0.55 (Win32) PHP/5.1.2 Server at localhost Port 80

Libreria es el nombre de la base de datos de la pagina.

Espero me puedas ayudar.

Tambien una duda, se que los errores me aparecen por tener la pagina en mi computadora, pero si la tuviera en un hospedaje ¿me seguiria marcando el error o se solucionaria?

Saludos y gracias
  #8 (permalink)  
Antiguo 17/11/2009, 14:45
 
Fecha de Ingreso: mayo-2004
Ubicación: Caminando por la piramide
Mensajes: 39
Antigüedad: 20 años
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Hey prueba esto pon lo siguiente en el block de notas
<?php
mail('[email protected]', 'prueba de email', 'probando el email');
?>

lo guardas con el nombre y la extension testemail.php luego vas a tu servidor lo guardas, tecleas lo siguiente:

http//www.tuweb.com/testemail.php luego ve y revisa tu correo si no te llego a tu bandeja de entrada revisa el del spam.

Si no funciona asi, tu servidor tiene bloqueado el envio, esto pasa comunmente cuando el servidor es gratuito, con los de pago no sucede.
__________________
No busques lo que dejaste perder... lo encontré en mi web!!!
  #9 (permalink)  
Antiguo 17/11/2009, 14:57
 
Fecha de Ingreso: septiembre-2009
Mensajes: 50
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Todavia no tengo la web en un servidor, lo tengo en mi pc, por eso preguntaba que si al subir la pagina este problema desapareciera ¿si desaparece al subirla?

Saludos y gracias
  #10 (permalink)  
Antiguo 17/11/2009, 15:47
 
Fecha de Ingreso: mayo-2004
Ubicación: Caminando por la piramide
Mensajes: 39
Antigüedad: 20 años
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Claro que desaparece, pero no se que usas si windows server, o linux, de todos modos, debes contar con un sistema como Xampp o window exchange para eso, en tu pc.
__________________
No busques lo que dejaste perder... lo encontré en mi web!!!
  #11 (permalink)  
Antiguo 17/11/2009, 16:00
 
Fecha de Ingreso: septiembre-2009
Mensajes: 50
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Cita:
Iniciado por faraon Ver Mensaje
Claro que desaparece, pero no se que usas si windows server, o linux, de todos modos, debes contar con un sistema como Xampp o window exchange para eso, en tu pc.
¿Entonces si subo mi pagina a algun servidor de paga el correo se enviaria sin problemas?

Vaya eso es un alivio, respecto al servidor, pensaba subirlo en linux, ya que, hasta donde se, el windows server solo lo necesitas si haces paginas con ASP

Por cierto, ¿ que es el sistema Xampp o window exchange que mencionas? perdona que haga tantas preguntas, lo que pasa es que soy medio nuevo en todo esto
  #12 (permalink)  
Antiguo 17/11/2009, 16:06
 
Fecha de Ingreso: mayo-2004
Ubicación: Caminando por la piramide
Mensajes: 39
Antigüedad: 20 años
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Xampp es un servidor como el wampp o como otros conocidos, pero el Xampp trae por defecto el sistema mail incorporado. los otros no.

Ahora el windows exchange es un sistema de correos, para servidores, pero tambien debes conocer de seguridad, para que ninguno te hacke la pc
__________________
No busques lo que dejaste perder... lo encontré en mi web!!!
  #13 (permalink)  
Antiguo 17/11/2009, 16:26
 
Fecha de Ingreso: septiembre-2009
Mensajes: 50
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Cita:
Iniciado por faraon Ver Mensaje
Xampp es un servidor como el wampp o como otros conocidos, pero el Xampp trae por defecto el sistema mail incorporado. los otros no.

Ahora el windows exchange es un sistema de correos, para servidores, pero tambien debes conocer de seguridad, para que ninguno te hacke la pc
¿wamp no tiene mail? por lo que, lo puedes configurar en el php.ini.

Respecto al windows exchange ¿esto es imprescindible? ya que no conozco mucho de seguridad para no ser hackeado, ademas pense que con solo enviar el formulario al correo deseado, no se necesitaria mas ¿estoy equivocado?

Gracias y saludos
  #14 (permalink)  
Antiguo 17/11/2009, 16:44
 
Fecha de Ingreso: mayo-2004
Ubicación: Caminando por la piramide
Mensajes: 39
Antigüedad: 20 años
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Si deseas tener tu pc como servidor mejor instalas el Xampp, que trae el paquete completo y maneja el idioma español para mejor compresion.

El Xampp trae el paquete para funcion de servidor, el php5, phpadmin, servermail, ftp. mysql. Asi que ve a la pagina web o el google encontras tutoriles de Xampp
__________________
No busques lo que dejaste perder... lo encontré en mi web!!!
  #15 (permalink)  
Antiguo 17/11/2009, 17:00
 
Fecha de Ingreso: septiembre-2009
Mensajes: 50
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Supongo que tambien incluye apache ¿no?

Tambien la ultima duda, se que soy muy cansado, pero es algo que todavia no me queda claro

¿Que hace exactamente la propiedad action de los formularios? antes pensaba que hay era donde debia poner el mail a donde queria que se mandara el formulario, pero despues me entere que es para que se envien los datos a una pagina que los procesa, ese punto es el que no lo entiendo ¿esta pagina que procesa los datos la tengo que hacer yo? ¿ como es que funciona la pagina y como la tengo que hacer en dado ? espero me puedas ayudar en esto de la propiedad action

Saludos y gracias
  #16 (permalink)  
Antiguo 17/11/2009, 17:22
 
Fecha de Ingreso: mayo-2004
Ubicación: Caminando por la piramide
Mensajes: 39
Antigüedad: 20 años
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

ejemplo:

Formulario.html, este archivo es donde la gente llenara los campos que estan en el formulario, pero tiene un action que dice que dichos datos deben ser registrados por el send.php o como quieras llamarlo, este tiene directrices de como procesar la informacion y a donde, como tambien el de validar los valores asignados al formulario.

Bueno algo asi es.
__________________
No busques lo que dejaste perder... lo encontré en mi web!!!
  #17 (permalink)  
Antiguo 17/11/2009, 17:48
 
Fecha de Ingreso: septiembre-2009
Mensajes: 50
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Cita:
Iniciado por faraon Ver Mensaje
ejemplo:

Formulario.html, este archivo es donde la gente llenara los campos que estan en el formulario, pero tiene un action que dice que dichos datos deben ser registrados por el send.php o como quieras llamarlo, este tiene directrices de como procesar la informacion y a donde, como tambien el de validar los valores asignados al formulario.

Bueno algo asi es.
Entonces seria algo asi:

Despues de mandar el formulario el action pasaria al usuario a una pagina que, dependiendo de si lleno correctamente el formulario o no, mostrara cierto contenido ¿algo asi es?

¿Tambien, no se podria que el action mande al navegador a la misma pagina del formulario si no lo lleno correctamente, o si lo hizo, que el contenido de esa pagina cambie por uno donde agradezca al usuario?

Saludos y gracias
  #18 (permalink)  
Antiguo 17/11/2009, 17:50
 
Fecha de Ingreso: mayo-2004
Ubicación: Caminando por la piramide
Mensajes: 39
Antigüedad: 20 años
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Eso hace el php, le dices donde o como, pero si los campos son errados eso debes insertarlo en el php o por medio de java que hace eso en el html cualquiera de las dos formas se puede para que el usuario llene los campos.
__________________
No busques lo que dejaste perder... lo encontré en mi web!!!
  #19 (permalink)  
Antiguo 17/11/2009, 17:57
 
Fecha de Ingreso: septiembre-2009
Mensajes: 50
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: ¿como enviar un formulario a un correo por php?

Cita:
Iniciado por faraon Ver Mensaje
Eso hace el php, le dices donde o como, pero si los campos son errados eso debes insertarlo en el php o por medio de java que hace eso en el html cualquiera de las dos formas se puede para que el usuario llene los campos.
Entonces lo que acabo de decir de como funciona el action es correcto ¿verdad?
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 22:43.