Como enviar un mail desde un formulario con PHP

En este tutorial veremos como enviar un correo desde un formulario de contacto con PHP usando la función mail()

¿Cómo crearemos el formulario en html?

Nuestro formulario de contacto debe tener 4 elementos básicos, que es el nombre, el correo, el área de texto donde irá el mensaje y el botón de enviar. Si quieren agregar más campos pueden visitar nuestro artículo Formulario en HTML o también puedes personalizar tu formulario.

Tengan en cuenta que el atributo name  será el nombre del elemento en el array $_POST[] una vez que enviemos el formulario. O sea que el elemento en la variable $_POST[] para el input “E-mail” quedaria de esta manera $_POST['email']

¿Cómo validar los datos enviados por el formulario?

El correo antes de ser enviado tiene que ser verificado con PHP por un tema de seguridad y además de que los formularios vengan completos y con la información que necesitamos.

Con la función preg_match() de PHP y las expresiones regulares que vimos en un artículo anterior validaremos el nombre de la persona para que solamente pase caracteres alfabéticos. Además es necesario agregar aquellos caracteres especiales como tildes y ñ para nombres como Nicolás o Iñaki que de otro modo no podrían pasar la validación.

También con preg_match() validaremos el correo que solamente aceptará los caracteres alfanuméricos, guiones, guiones bajos y puntos. Además verificamos si el correo se encuentra en el formato correcto: ejemplo@correo.com

A la variable $_POST['mensaje'] que es donde viene el contenido del mensaje, por un tema de seguridad primero tendremos que limpiarla con htmlentities() para que los caracteres HTML sean convertidos a su entidad correspondiente. Por ejemplo el símbolo mayor-menor (<) nos quedaría &lt;

VIENDO LA FUNCIÓN MAIL()

Finalmente llegamos a la función mail() que será la encargada de enviar el correo. Por esta función debemos pasar de forma obligatoria 3 datos que son: mail( Destinatario, Asunto del correo, Mensaje ), pero también podemos agregar de forma opcional, un cuarto dato que será la cabecera: mail( Destinatario, Asunto del correo, Mensaje, Cabecera ).

La cabecera es la encargada de enviarnos parámetros adicionales como si el correo será plano o en html, si queremos enviarle una copia o copia oculta a otro destinatario, la codificación de caracteres, etc.

Descarga
Modificado por última vez el día 26 de diciembre de 2012 a las 15:22

Posted in PHP
Scroll to top