You are on page 1of 3

Cmo enviar un formulario por e-mail usando PHP

Noviembre 2013

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 informacin.

En este truco te mostramos un ejemplo de cmo hacer un formulario usando HTML para
crearlo y PHP para procesarlo y enviarlo por e-mail.

1. El formulario
2. El script PHP
3. Vase tambin: Formulario php

El formulario
Se trata de un fragmento de cdigo 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="frmContacto" method="post" action="sendbymail.php">


<table width="500px">
<tr>
<td>
<label for="first_name">Nombre: *</label>
</td>
<td>
<input type="text" name="first_name" maxlength="50" size="25">
</td>
</tr>
<tr>
<td valign="top"">
<label for="last_name">Apellido: *</label>
</td>
<td>
<input type="text" name="last_name" maxlength="50" size="25">
</td>
</tr>
<tr>
<td>
<label for="email">Direccin de E-mail: *</label>
</td>
<td>
<input type="text" name="email" maxlength="80" size="35">
</td>
</tr>
<tr>
<td>
<label for="telephone">Nmero de telfono:</label>
</td>
<td>
<input type="text" name="telephone" maxlength="25" size="15">
</td>
</tr>
<tr>
<td>
<label for="comments">Comentarios: *</label>
</td>
<td>
<textarea name="comments" maxlength="500" cols="30"
rows="5"></textarea>
</td>
</tr>
<tr>
<td colspan="2" style="text-align:right">
<input type="submit" value="Enviar">
</td>
</tr>
</table>
</form>

El script PHP
La otra parte de cdigo a escribir ser entonces la encargada de tomar los datos del formulario
anterior, validarlos y si todo est bien, enviar el formulario por correo electrnico a una
direccin de destino determinada en el cdigo.

Veamos este ejemplo:

sendbymail.php
<?php
if(isset($_POST['email'])) {

// Debes editar las prximas dos lneas de cdigo de acuerdo con tus
preferencias
$email_to = "destinatario@sudominio.com";
$email_subject = "Contacto desde el sitio web";

// Aqu se deberan validar los datos ingresados por el usuario


if(!isset($_POST['first_name']) ||
!isset($_POST['last_name']) ||
!isset($_POST['email']) ||
!isset($_POST['telephone']) ||
!isset($_POST['comments'])) {

echo "<b>Ocurri un error y el formulario no ha sido enviado. </b><br


/>";
echo "Por favor, vuelva atrs y verifique la informacin ingresada<br
/>";
die();
}

$email_message = "Detalles del formulario de contacto:\n\n";


$email_message .= "Nombre: " . $_POST['first_name'] . "\n";
$email_message .= "Apellido: " . $_POST['last_name'] . "\n";
$email_message .= "E-mail: " . $_POST['email'] . "\n";
$email_message .= "Telfono: " . $_POST['telephone'] . "\n";
$email_message .= "Comentarios: " . $_POST['comments'] . "\n\n";

// Ahora se enva el e-mail usando la funcin 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!";


}
?>
http://es.kioskea.net/faq/10887-como-enviar-un-formulario-por-e-mail-usando-php

You might also like