Tus Proyectos

Comunidad =>    Manuales => Mensaje iniciado por: Tank en 10 de Septiembre de 2007, 11:50:20

Título: Formulario de envio de emails [PHP]
Publicado por: Tank en 10 de Septiembre de 2007, 11:50:20
Bueno otro manual mas . xD

1- ¿Qué necesitamos?

Un hosting que acepte PHP y la función mail() la tenga habilitada.

2- ¿Que conocimientos se necesitan?

Básicos de HTML


PASO 1:  

En primer lugar debemos crear el formulario, que será el siguiente como ejemplo:
formulario.html


 
Código: [Seleccionar]
<form name="formulario" method="post" action="emailer.php">
  <p align="left"><strong>Nombre:
    </strong>
    <input name="nombre" type="text">
    <br>
    <strong>Email:</strong>   
    <input name="email" type="text">
    <br>
    <strong>Mensaje:</strong><br>
   <textarea name="mensaje"></textarea>
    <br>
    <input type="submit" name="Submit" value="Enviar">
</p>
</form>



Fíjense en los campos introducidos, dos "inputs", un "textarea" y la etiqueta "name" para cada uno de ellos:
//--------Recortes de código
...
<input name="nombre" type="text">
...
<input name="email" type="text">
...
<textarea name="mensaje"></textarea>
...
//-------- Fin de los recortes

Estos nombre toman suma importancia en el proceso asi que no olviden que nombres pusieron.
Además de en la siguiente linea:

Código: [Seleccionar]
<form name="formulario" method="post" action="emailer.php">

La etiqueta "action" toma una posición importante, ya que es hacia donde se dirijirá el formulario una vez pulsado el botón enviar.

Ahora ya tenemos CASI listo nuestro formulario, solo deberemos guardarlo como, por ejemplo "formulario.html".


PASO 2:  

Ahora ya tenemos nuestro "formulario.html" solo necesitamos ahora crear el "emailer.php", pero para los asustadizos solo decir que no van a tocar prácticamente nada en el siguiente archivo.

emailer.php
 
Código: [Seleccionar]
<?
//-------------------------------------------
//CONFIGURACIÓN.
//@Email al que llegarán los mensajes
$email_to = "TUEMAIL@MAIL.COM";

//@Asunto de los mensajes enviados.
$asunto_to = "MENSAJE DESDE LA WEB";

//@Cuando se envie el mensaje quieres redirijirlos a una página?
$redir = "no";
//## En caso de "si" en $redir ¿Donde quieres redirijirlos?
//** Si se envió correctamente llevarlos a...
$url_redir_ok = "index.html";
//** Si no se pudo enviar llevarlos a...
$url_redir_no = "error.html";
//## En caso de "no" en $redir...
//** Mensaje a mostrar en caso de envio correcto
$msg_ok = "El mensaje se ha enviado correctamente!";
//** Mensaje a mostrar en caso de envio fallido
$msg_no = "El mensaje no se pudo enviar!";

//FIN DE LA CONFIGURACIÓN.
//------------------------------------------
$mensaje = "Mensaje desde la Web. Fecha:".date("d/m/Y H:i", time())."\n";
foreach ($HTTP_POST_VARS as $i => $txt){
$mensaje .= $i." -> ".$txt."\n";
}

if(mail($email_to, $asunto_to, $mensaje)){
$returning = ($redir == 'si') ? "<meta http-equiv=\"refresh\" content=\"0;URL=".$url_redir_ok."\">" : $msg_ok;
}else{
$returning = ($redir == 'si') ? "<meta http-equiv=\"refresh\" content=\"0;URL=".$url_redir_no."\">" : $msg_no;
}
echo $returning;
?>


Copian, y guardan el código anterior como emailer.php, siguen los pasos de instalación siguiendo los comentarios (Texto seguido a dos barras "// Esto es un comentario") y ya está 

Si no desean complicarse demasiado solo deben modificar la linea:

Código: [Seleccionar]
$email_to = "TUEMAIL@MAIL.COM";

Con su email y ya está.