0 votos
por (20 puntos) en HTML
Como puedo hacer para que los datos que la gente rellene de un formulario me llegen a mi dirección de email.


3 Respuestas

0 votos
por (4.3k puntos)
Puedes utilizar o bien un lenguaje PHP o ASP para que mediante un servidor te llegué a tu correo electrónico. Por ejemplo tienes:

<ul>
<li>http://lineadecodigo.com/2009/03/11/mandar-emails-con-aspemail/</li>
</ul>
O bien intentar enviártelo utilizando solo HTML. Para ese caso puedes leer lo siguiente:

<ul>
<li>http://lineadecodigo.com/2009/02/27/enviar-emails-desde-una-pagina-web/</li>
</ul>
0 votos
por (600 puntos)

El método para enviar un formulario con PHP resulta muy similar al utilizardo en ASP, varía tan sólo la sintaxis utilizada y las líneas de código que realizan el envío del correo electrónico.

Para empezar, sería muy útil que aprendas a enviar correos electronicos con PHP 

ejemplo:

Nos vamos a apoyar en la variable $HTTP_POST_VARS, que debería contener el formulario, para saber si hemos recibido o no datos desde un formulario. Dicha variable la utilizamos en un enunciado if (! $HTTP_POST_VARS), que si pasa por el caso positivo -no había nada en $HTTP_POST_VARS- significa que no se ha recibido nada desde un formulario. En ese caso, muestro el formulario de contacto. 

En caso contrario -sí que había algo en $HTTP_POST_VARS- quiere decir que estamos recibiendo datos por un formulario y en ese caso, recogemos los datos y componemos el cuerpo del mensaje. 

Veamos el código de la página para crear el formulario, recibirlo y componer el cuerpo del mensaje que se va a enviar. En el mismo código podremos encontrar también la llamada a la función que envía el correo. 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 
<html> 
<head> 
    <title>Mándanos tus comentarios</title> 
</head> 

<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("[email protected]","Formulario recibido",$cuerpo); 

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

?> 
</body> 
</html>

espero te sirva!!

0 votos
por (600 puntos)

Hola!!

Tal vez esto puede servirte para lo que estabas buscando.

FORMULARIO:

<form name="frmContacto" method="post" action="sendbymail.php">
<table width="500px">
<tr>
<td>
<label for="first_name">Nombre: *</label>
</td>
<td>
<input type="text" name="first_name" maxlength="50" size="25">
</td>
</tr>
<tr>
<td valign="top"">
<label for="last_name">Apellido: *</label>
</td>
<td>
<input type="text" name="last_name" maxlength="50" size="25">
</td>
</tr>
<tr>
<td>
<label for="email">Dirección de E-mail: *</label>
</td>
<td>
<input type="text" name="email" maxlength="80" size="35">
</td>
</tr>
<tr>
<td>
<label for="telephone">Número de teléfono:</label>
</td>
<td>
<input type="text" name="telephone" maxlength="25" size="15">
</td>
</tr>
<tr>
<td>
<label for="comments">Comentarios: *</label>
</td>
<td>
<textarea name="comments" maxlength="500" cols="30" rows="5"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:right">
<input type="submit" value="Enviar">
</td>
</tr>
</table>
</form>

SCRIPT:
 

<?php
if(isset($_POST['email'])) {

// Debes editar las próximas dos líneas de código de acuerdo con tus preferencias
$email_to "[email protected]";
$email_subject "Contacto desde el sitio web";

// Aquí se deberían validar los datos ingresados por el usuario
if(!isset($_POST['first_name']) ||
!isset(
$_POST['last_name']) ||
!isset(
$_POST['email']) ||
!isset(
$_POST['telephone']) ||
!isset(
$_POST['comments'])) {

echo 
"<b>Ocurrió un error y el formulario no ha sido enviado. </b><br />";
echo 
"Por favor, vuelva atrás y verifique la información ingresada<br />";
die();
}

Preguntas relacionadas

0 votos
0 respuestas
0 votos
2 respuestas
preguntado por jabali (20 puntos) Ene 28, 2016 en HTML
0 votos
4 respuestas
preguntado por estril7 (20 puntos) Ene 28, 2016 en PHP
Bienvenido a Dudas de Programación, donde puedes hacer preguntas y recibir respuestas sobre los problemas más frecuentes de los lenguajes de programación, frameworks de desarrollo y bases de datos que utilices. Foro de Línea de Código

Categorías

...