Cómo crear y enviar un formulario por correo con HTML y PHP

Cuando trabajamos en un sitio web, a veces existe la necesidad de proveer al usuario con un formulario de contacto para hacernos llegar sus consultas, comentarios u otro tipo de información. En esta guía te enseñamos un ejemplo sobre cómo crear un formulario usando HTML y un script PHP para procesarlo y enviarlo por e-mail.
¿Cómo crear un formulario de contacto?
- Para ello emplearemos un fragmento de código HTML que, al utilizar el TAG form, nos permite crear el formulario de entrada de datos (formulario.html) que después será completado por el usuario:
<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>
- Así, obtendremos este formulario:

¿Cómo enviar el formulario por mail?
La otra parte del código será la encargada de tomar los datos del formulario anterior, validarlos y enviar el formulario por correo electrónico a una dirección de destino concreta. Veámoslo en el ejemplo sendbymail.php:
<?php if(isset($_POST['email'])) { // Debes editar las próximas dos líneas de código de acuerdo con tus preferencias $email_to = "destinatario@sudominio.com"; $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(); } $email_message = "Detalles del formulario de contacto:\n\n"; $email_message .= "Nombre: " . $_POST['first_name'] . "\n"; $email_message .= "Apellido: " . $_POST['last_name'] . "\n"; $email_message .= "E-mail: " . $_POST['email'] . "\n"; $email_message .= "Teléfono: " . $_POST['telephone'] . "\n"; $email_message .= "Comentarios: " . $_POST['comments'] . "\n\n"; // Ahora se envía el e-mail usando la función mail() de PHP $headers = 'From: '.$email_from."\r\n". 'Reply-To: '.$email_from."\r\n" . 'X-Mailer: PHP/' . phpversion(); @mail($email_to, $email_subject, $email_message, $headers); echo "¡El formulario se ha enviado con éxito!"; } ?>
Alrededor del mismo tema
- Formulario de contacto php con envio a correo electronico
- Enviar formulario a correo html con php
- Enviar formulario php
- Formulario de contacto html que llegue a mi correo [resuelto] > Foro de webmastering
- Como recuperar cuenta de facebook sin correo y sin número [resuelto] > Foro Facebook
- Links con virus para enviar > Foro de Virus / Seguridad
- Como cambiar mi correo electrónico en mi cuenta infonavit [resuelto] > Foro Internet
- Crear correo electrónico para facebook [resuelto] > Foro Facebook