Enviar un formulario por e-mail usando PHP
Cuando estamos trabajando en un sitio web, muchas 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 este truco te mostramos un ejemplo de cómo hacer un formulario usando HTML para crearlo y PHP para procesarlo y enviarlo por e-mail.
El formulario
Se trata de un fragmento de código HTML que usando el TAG <form> nos permite crear el formulario de entrada de datos a ser completado por el usuario:
Formulario.html
<form name="Contacto" method="post" action="enviarmail.php"> <table width="500px"> <tr> <td> <label for="nombre">Nombre: *</label> </td> <td> <input type="text" name="nombre" maxlength="50" size="25"> </td> </tr> <tr> <td valign="top""> <label for="apellido">Apellido: *</label> </td> <td> <input type="text" name="apellido" 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="telefono">Número de teléfono:</label> </td> <td> <input type="text" name="telefono" maxlength="25" size="15"> </td> </tr> <tr> <td> <label for="comentario">Comentarios: *</label> </td> <td> <textarea name="comentario" maxlength="500" cols="30" rows="5"></textarea> </td> </tr> <tr> <td colspan="2" style="text-align:right"> <input type="submit" name="enviar" value="Enviar Solicitud"> </td> </tr> </table> </form>
El script PHP
La otra parte de código a escribir será entonces la encargada de tomar los datos del formulario anterior, validarlos y si todo está bien, enviar el formulario por correo electrónico a una dirección de destino determinada en el código.
Veamos este ejemplo:
enviarmail.php
<?php if(isset($_POST['enviar'])) { // 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['nombre']) || !isset($_POST['apellido']) || !isset($_POST['email']) || !isset($_POST['telefono']) || !isset($_POST['commentario'])) { 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['nombre'] . "\n"; $email_message .= "Apellido: " . $_POST['apellido'] . "\n"; $email_message .= "E-mail: " . $_POST['email'] . "\n"; $email_message .= "Teléfono: " . $_POST['telefono'] . "\n"; $email_message .= "Comentarios: " . $_POST['commentario'] . "\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!"; }
?>
Espero que les ayude con este formulario muy sencillo, mas adelante publicaremos como configurar un servidor smtp...
0 comentarios:
Publicar un comentario