Sie sind auf Seite 1von 3

Cmo enviar un formulario por e-mail

usando PHP
Junio 2014
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.
El formulario
El script 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!";
}
?>
Este documento intitulado Cmo enviar un formulario por e-mail usando PHP de Kioskea (es.kioskea.net) esta
puesto a diposicin bajo la licencia Creative Commons. Puede copiar, modificar bajo las condiciones puestas por la
licencia, siempre que esta nota sea visible.