[CÓDIGO ÚTIL] Crea tu formulario de contacto (mail)

Hola!
En esta ocasión les mostraré cómo pueden hacer un formulario para que cualquier usuario los contacte.
¿Cómo funciona?
Si alguien quiere preguntarte algo, tiene un problema en tu página o quiere aclarar alguna inquietud, necesitará escribirte, y la mejor manera es con un formulario de contacto con el que el usuario te escribirá y tu recibirás en la comodidad de tu bandeja de entrada el correo. No importa si es Hotmail, Gmail o Yahoo; llegará a tu buzón.
¿Qué necesito?
No necesitas muchas herramientas ni escribir demasiado código.
- Sólo ocuparemos un servidor (Hosting) que tenga PHP, de preferencia la versión 5, pero si es 4 también sirve. El servidor debe tener habilitada la función de mail. [Consulta con tu proveedor de hosting sobre esta función]
Manos a la obra
Primero diseñamos un formulario con los datos que queremos saber sobre la persona que envió el mensaje. Esto no tiene nada de especial, es sólo HTML que de seguro ya sabes hacer.

Recuerda que el atributo "action" del formulario debe tener el nombre de la página que procesa los datos.
contacto.html
<form action="enviar.php" method="POST">
Tu nombre: <input type="text" name="nombre"><br/>
Tu correo: <input type="text" name="correo"><br/>
Asunto: <input type="text" name="asunto"><br/>
Mensaje: <textarea name="mensaje"></textarea><p/>
<input type="submit" value="Enviar"><br/>
</form>

Nada especial, ¿o tu qué crees?
Ahora viene lo interesante, el código en PHP que nos enviará el mail nuestro correo.
Como yo le pude en el atributo "action" el nombre de "enviar.php", entonces a nuestra siguiente página le llamaremos así, si le cambias el nombre, también cámbialo en el formulario.

enviar.php
<?php
//Recibimos los campos del formulario
$nombre=$_POST[nombre];
$correo=$_POST[correo];
$asunto=$_POST[asunto];
$mensaje=$_POST[mensaje];
//Acomodamos todo para darle orden al cuerpo del mensaje
$texto_mensaje="El usuario ".$nombre." dijo: \n".$mensaje." \n
Puedes contactarlo a su correo: ".$correo;
mail("[b][correo eliminado][/b]",$asunto,$texto_mensaje);
echo "Su mensaje se ha enviado! Nos pondremos en contacto contigo.";
?>

¿Y eso es todo? Sí, eso es todo, peor para que no queden dudas explicaré dos partes del código.
Donde dice "[correo eliminado]" será tu cuenta de correo donde quieres que te llegue el mensaje. Coloca la dirección de tu correo ahí.
La última parte es el lo que leerá el usuario una vez que haya dado clic en el botón del formulario, él solo verá ese mensaje, no todo el código.
Ventaja
La ventaja clara es que el usuario nunca sabe tu dirección de correo, así puedes usar la cuenta para el chat sin temor a que una avalancha de invitaciones para amigo te lleguen :D
Desventaja
En realidad así como está este código podrían enviarte infinidad de mensajes y llenar tu bandeja de SPAM, pero la solución es ponerle un CAPTCHA al formulario y además de validación de campos vacíos; eso se lo dejamos a JavaScript y a tu interés de implementarlo.



Hasta aquí con este tutorial exprés que espero te haya servido de mucho, cualquier duda, mejoramiento del código u opinión publicarla. Un saludo
>>>Geze<<<
Sería bueno que añadieras algo de seguridad en el asunto, contenido, correo y nombre, ya que ese script, ahi donde está es muy propenso a que usuarios malintencionados usen ese método para infectar el PC del webmaster o quien quiera que reciva dicho e-mail.

De todas formas muchas gracias por tu aporte. No tenía ni idea de este tipo de envio de emails xDDDD
¡Te doy reputación!
Pienso, comparto, aprendo, luego creo
Sería bueno que añadieras algo de seguridad en el asunto, contenido, correo y nombre, ya que ese script, ahi donde está es muy propenso a que usuarios malintencionados usen ese método para infectar el PC del webmaster o quien quiera que reciva dicho e-mail.

Sí, es cierto; aunque por eso aclaro que vale todo para hacer mejor este código. Ya sea Js para validar o como lo mencionas seguridad en el propio mail.

De todas formas muchas gracias por tu aporte. No tenía ni idea de este tipo de envio de emails xDDDD
¡Te doy reputación!

Qué bueno que te sea útil y gracias!! ;)