Si estás construyendo un sitio web con un diseño personal, seguro que te interesa crear una página de contacto. Para ello necesitas, además del propio diseño, insertar un script, en este caso en PHP, que se ocupe de enviarte un mensaje a tu cuenta de correo electrónico directamente desde la página. Hay múltiples formas de hacerlo. El que te propongo es muy simple. Para estructurar el formulario he utilizado tablas, aunque si lo deseas, puedes definir una hoja de estilo y sustituir las tablas por las etiquetas correspondientes.
En el caso de que el visitante no rellene los campos obligatorios, marcados con un asterisco, surgirá un mensaje, cuando pulse sobre el botón Enviar, indicándole que el formulario esta incompleto. Si todo está bien, al pulsar sobre el botón de envío, se mostrará un mensaje confirmándolo. Para todo el proceso sólo es necesaria una página, que he llamado contacto.php. Si le cambias el nombre, debes hacerlo también en el código.
Incluye el código que viene a continuación en la página de contacto que estás diseñando. Sólo deberás sustituir la dirección de correo que he puesto por la tuya.
<div align="center"> <table width="600" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="100%"> <table width="100%" border=1 cellPadding=5 cellSpacing=0 bgcolor="#eeeeee" bordercolor="#C0C0C0"> <tbody> <tr> <td width="100%" align="center" vAlign=middle> <?php if (!$_POST['envio']) { echo "<form action=\"contacto.php\" method=\"post\" class=\"bodytext\">"; ?> <!--begin Form --> <table border=0 cellpadding=3 cellspacing=0 bordercolor="#FFFFFF"> <tr> <td colspan=2 height="20" align="left"> <b>Rellena los campos siguientes</b></td> </tr> <tr> <td height="20" bgcolor="#CCCCCC" align="left">Nombre completo: *</td> <td height="20" bgcolor="#CCCCCC" align="left">E-mail: *</td> </tr> <tr> <td align="center" height="28"> <INPUT NAME="fullname" TYPE="TEXT" SIZE="30" MAXLENGTH="50"></td> <td width="50%" align="center" height="28"> <INPUT TYPE="TEXT" MAXLENGTH="50" SIZE="30" NAME="mail"></td> </tr> <tr> <td colspan="2" height="20" bgcolor="#CCCCCC" align="left">Asunto:</td> </tr> <tr> <td colspan="2" align="center" height="28"> <INPUT NAME="asunto" TYPE="TEXT" SIZE="68" MAXLENGTH="68"></td> </tr> <tr> <td colspan="2" height="20" bgcolor="#CCCCCC" align="left">Comentarios:</td> </tr> <tr> <td colspan="2" align="center" height="80"> <TEXTAREA ROWS="5" COLS="64" NAME="bodyl"></TEXTAREA></td> </tr> <tr> <td width="100%" align="CENTER" COLSPAN="2"> <input type="submit" name="envio" value="Enviar" size="20"> <input name="reset" type="reset" value="Limpiar" size="20"></td> </tr> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="left">* Campo obligatorio </td> </tr> </table> <!-- End Form --> <?php } else if ($_POST['envio']=="Enviar") { $flag=0; $flag1=0; if ((!$_POST['fullname'])||($_POST['fullname']=="")) { echo "<b>No rellenaste el campo Nombre</b>.<br>"; $flag=1; } if ((!$_POST['mail']) || ($_POST['mail']=="") ) { echo "<b>No rellenaste el campo E-mail</b>.<br>"; $flag=1; $flag1=1; } if ($flag1==0) { if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$",$_POST['mail'])) { echo "<b>Dirección de E-mail no válida</b>.<br>"; $flag=1; } } if ($flag=="1") { echo "<a href=\"contacto.php\">Volver</a>"; } else { $mi_email="info@tudominio.net"; $titulo_correo="Solicitud de Contacto"; mail("$mi_email","$titulo_correo","Nombre: ".$_POST['fullname']." \n\n"."Asunto: ".$_POST['asunto']." \n\n"."Comentarios: ".$_POST['bodyl']." \n\n"."Dirección de Correo: ".$_POST['mail'],"From: ".$_POST['mail']); echo "<br><br>Tu mensaje ha sido enviado.<br> Gracias por contactar con nosotros."; } } ?> </td> </tr> </tbody> </table> </td> </tr> </table> </div>
Al implementar en la página el código anterior, verás algo similar a lo siguiente:
Justo necesitaba enviar emails con PHP y me encontré con este post, muchas gracias!