Enviar formulario por correo electrónico en PHP

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.

¡¡ Comenta este artículo en los foros !!
comenta