Enviar formulario por correo electrónico en PHP
Uno de los puntos casi imprescindibles en un sitio web es el disponer de un mecanismo que permita el feedback entre el usuario y el responsable de dicha web. Esta comunicación se realiza habitualmente publicando una dirección de correo electrónico (poco recomendado para evitar el spam) o mediante un formulario de contacto que posteriormente envía sus datos a un email.
Vamos a ver, con un ejemplo práctico, cómo enviar los datos de un formulario por correo electrónico, implementado en PHP:
<?
if ( $HTTP_POST_VARS ) { // se han pasado variables por el método POST
$mensaje = “Nombre: “.$HTTP_POST_VARS[“nombre”].”n”;
$mensaje .= “Email: “.$HTTP_POST_VARS[“email”].”n”;
$mensaje .= “Comentarios: “.$HTTP_POST_VARS[“comentarios”].”n”;
mail(“webmaster@dominio.com”, “Mensaje desde el formulario”, $mensaje);
echo “Se ha enviado el mensaje.”;
} else { // no se ha enviado ningún formulario, mostrarlo entonces
echo ‘
<form action=”pagina.php” method=”POST“>
Nombre: <input type=”text” name=”nombre” size=”20″><br>
Email: <input type=”text” name=”email” size=”20″><br>
Comentarios: <textarea name=”comentarios” cols=”20″ rows=”5″></textarea><br>
<input type=”submit” value=”Enviar”>
</form>’;
}
?>
Con este script no necesitamos utilizar 2 páginas (una para el formulario y otra para el script de envío) sino que, en función de que se hallan pasado variables por el método POST o no (es decir, si $HTTP_POST_VARS tiene contenido o no), se enviará el mensaje o se mostrará el formulario, respectivamente.