Se trata de enviar un correo electrónico con los datos que ha escrito una persona al rellenar un formulario web.
El código está escrito en lenguaje PHP y sirve para cualquier tipo de formulario web. Se ha intentado que fuese un código lo máximo de sencillo y útil posible.
Para poder utilizar el código PHP hay que personalizarlo, pero es muy fácil de hacer y no es necesario tener conocimientos de programación para realizar esta tarea.
<form name="form1" method="post" action="correo.php">
<table>
<tr>
<th>Nombre:</th>
<td><input name="nombre" type="text" class="campo" id="nombre" size="60"></td>
</tr>
<tr>
<th>Teléfono:</th>
<td><input name="telefono" type="text" class="campo" id="telefono" size="60"></td>
</tr>
<tr>
<th>Correo:</th>
<td><input name="correo" type="text" class="campo" id="correo" size="60"></td>
</tr>
<tr>
<th>Tipo de oferta: </th>
<td><input name="oferta" type="radio" value="individual">individual
<br><input name="oferta" type="radio" value="grupo">de grupo </td>
</tr>
<tr>
<th>Opciones:</th>
<td><input name="catalogo" type="checkbox" id="catalogo" value="si">Recibir catálogo
<br><input name="informarme" type="checkbox" id="informarme" value="si">Informarme de otras ofertas</td>
</tr>
<tr>
<th>Procedencia:</th>
<td><select name="procedencia" class="campo" id="procedencia">
<option value="-"></option>
<option value="N">Norte</option>
<option value="C">Centro</option>
<option value="S">Sur</option>
<option value="E">Este</option>
<option value="O">Oeste</option>
</select></td>
</tr>
<tr>
<th>Observaciones:</th>
<td><textarea name="observaciones" cols="60" rows="10" class="campo" id="observaciones"></textarea></td>
</tr>
</table>
<p>
<input type="submit" value="Enviar">
<input type="reset" value="Restablecer">
</p>
</form>
correo.phpLos términos destacados son los que hay que personalizar para cada caso en particular.
<html>
<head>
<title>Envío del formulario</title>
</head>
<body>
<h1>Envío del formulario</h1>
<?php
// CONFIGURACION CORREO
$destinatario = "destinatario@jettours.es";
$destinatario_cc = "";
$destinatario_bcc = "";
$asunto = "Formulario de JetTours";
$mensaje = "";
$campos_obligatorios = Array();
$campo_nombre = "nombre"; // Campo del formulario con el nombre del visitante
$campo_correo = "correo"; // Campo del formulario con el correo del visitante
// CONFIGURACION HTML
$enviado_bien = "Su formulario ha sido enviado correctamente";
$enviado_mal = "ERROR: No se pudo enviar";
// RECOGER DATOS
reset ($_POST);
$mensaje .= "<table border=\"1\">";
while (list ($clave, $valor) = each ($_POST)) {
$clave = htmlspecialchars($clave);
$valor = htmlspecialchars(trim($valor));
$mensaje .= "<tr><th>" . $clave . "</th><td>" . $valor . "</td></tr>";
}
$mensaje .= "<tr><th>Fecha petición:</th><td>" . date("d/m/Y H:i:s") . "</td></tr>";
$mensaje .= "</table>";
// VARIABLES INTERNAS
$nombre = $_POST[$campo_nombre];
$correo = $_POST[$campo_correo];
$cabeceras = "MIME-Version: 1.0\r\n"; //para el envío en formato HTML
$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";
if ($correo != "") {
$cabeceras .= "From: " . $nombre . " <" . $correo . ">\r\n"; // Dirección del remitente
$cabeceras .= "Reply-To: " . $nombre . " <" . $correo . ">\r\n"; // Dirección de respuesta
}
if ($destinatario_cc != "") { $cabeceras .= "Cc: " . $destinatario_cc . "\r\n"; }
if ($destinatario_bcc != "") { $cabeceras .= "Bcc: " . $destinatario_bcc . "\r\n"; }
if (mail($destinatario, $asunto, $mensaje, $cabeceras)) {
echo $enviado_bien;
} else {
echo $enviado_mal;
}
?>
</body>
</html>
Aquí podemos ver cómo sería el correo que recibiriamos cuando alguien rellenase nuestro formulario en la web:

24 comments:
Perfecto para lo que lo voy a usar
intento copiarlo todo pero no me funciona, me ayudas?
que hago , copio las dos partes juntas??
Para probarlo hace falta dos archivos: (1) la página HTML dónde se debe incluir el formulario indicado y (2) la página "correo.php" que recogerá los datos del formulario y los enviará por correo a la dirección indicada dentro. (3) Además hay que subir las dos páginas al servidor web. En tu ordenador puedes instalarte un servidor web con Apache y PHP desde www.easyphp.org o www.wampserver.com; o bien puedes usar el servidor web de tu propio dominio. (4) Para probar si funciona desde el navegador web hay que poner la dirección de la página HTML del formulario, algo así como http://localhost/formulario.html
Espero que esto te sirva de ayuda y sino es así deberías adquirir unos conocimientos mínimos sobre servidores web y páginas html. Lo mejor es comprarse un buen libro sobre el tema. Además en Internet hay muchos tutoriales sobre esto. Busca en la www.wikipedia.org o en el www.google.es
hola me gustaria que me esplicaran es punto
(4) Para probar si funciona desde el navegador web hay que poner la dirección de la página HTML del formulario, algo así como http://localhost/formulario.html
por q eso es lo q me esta fallanado
Hay dos casos posibles en el punto (4):
(A) Si el servidor web está en tu propio ordenador, hay que copiar los ficheros "formulario.html" y "correo.php" a la carpeta "www". Para ver si funciona hay que ir a la dirección http://localhost/formulario.html
(B) Si tienes acceso a un servidor remoto hay que subir los ficheros "formulario.html" y "correo.php" por FTP. Luego para ver si funciona hay que poner la dirección http://www.midominio.com/formulario.html. (Es posible que tengas que acceder al panel de control de tu servidor y activar el PHP).
Hola funciona perfecto, lo único que al recibir el correo con la info del formulario no sale como en el ejemplo si no en formato html todo seguido y no en formato de tabla.
¿Cómo lo arreglo?
Muchas gracias
un saludo
como hago para ver la recepcion del mail en el outlook es decir configurar el smtp.
hola, gracias por el codigo fuciona de maravila :D diria super codigo genial jejeje grias grias
hola, quisiera saber si alguien me puede decir q pongo en cada parte del codigo, por ej. donde pongo la direccion de correo a la cual yo kiero q llegue...
se los agradeceria un monton..
marcelo
SOLO TE PUEDO DECIR QUE ME RESULTO FANTASTICO, EXELENTE FACIL DE ENTENDER, REALMENTE TE FELICITO.
GRACIAS
MAXIMILIANO
GRACIAS me salvaste la vida FUNCIONA perfecto!!!
Excelente formulario, solo una pregunta, si quiero que al enviar no salga la pagina en blanco de "Envío del formulario" y direccione a una web, q codigo y donde lo colocaria???
Muchisimas gracias por colocar el codigo tan sencillo y super facil de usar.
Funciona super bien.
Estimado, gracias por el código sobre formulario, ha sido de gran ayuda.
Copie ambos archivos y lo unico que cambie fue el correo del destinatario, lo subi a una web de prueba, me manda el mensaje enviado correctamente pero no me llega nada a la casilla de correo.Si envío el formulario en blanco tambien me dice enviado correctamente.¿Que hice mal si estan copiados como en el ejemplo?
ayudame please no me sale
hize comom dijistes subi los 2 archivos active la opciones php pero cuando envio el pedido me sale
Envi del formulario
Warning: mail() has been disabled for security reasons in /home/webcindario/m/r/mrdu3nd3/correo.php on line 44
ERROR: No se pudo enviar
Que puedo hace para solucionarlo gracias :)
Estimado:
Muchas gracias estube buscando este tutorial, de verdad lo necesitaba ademas esta funcionando al 100 porciento muchas gracias.
Muchas Gracias por este gran ejemplo!!!despues de mucho buscar funcionó casi inmediatamente, GENIAL! una consulta adicional, como puedo hacer que algunos campos sean obligatorios? Muchas Gracias Nuevamente
Genial funciona super bien. Muchas gracias.
como activo el php desde el servdor, pues ya subi los archivos a la carpeta del servidor del dominio y me aparece q hay error..me puede ayudar?
los campos obligatorios no me funcional
cuando lo mando no se donde poner mi correo
si lo pongo en destinatario
o donde lo pongo
ungeme
como hago para que el remitente reciba una copia del correo