Formulario para enviar correo

13

Plantilla de correo electrónico para el envío de formularios

Los formularios de contacto son una alternativa bastante eficaz a los enlaces mailto repartidos por las páginas web. Son fáciles de usar para los usuarios y más difíciles de entender para los recolectores de correo electrónico. Como es de esperar, construir un formulario de contacto efectivo en PHP no es nada difícil. Vamos a explicar el proceso paso a paso en este artículo.

Pero estará bien para propósitos de demostración. Si no te gusta escribir CSS en este momento, puedes usar cualquiera de los cientos de constructores de formularios disponibles. Algunas opciones son Simfatic, 123FormBuilder y PHP Jabbers. CodeCanyon tiene cientos de herramientas con reseñas para cada una de ellas para facilitar la elección.

Bien, tenemos el formulario de contacto, pero cualquier dato que los usuarios inserten va directamente a un agujero negro. Así que necesitaremos añadir dos elementos más al formulario: ACTION y METHOD. ACTION le dice al navegador lo que debe hacer cuando el usuario pulsa el botón “Enviar”. El MÉTODO le dice cómo enfocar este movimiento.

Para deshacerse de algunos spammers, pero también para proteger a los usuarios de escribir accidentalmente mal sus datos de contacto, vale la pena añadir algunos algoritmos de validación al formulario de contacto. Para tener la mayor probabilidad de éxito, considera hacerlo tanto en el lado del cliente como en el del servidor.

Comentarios

Habilitar un formulario de contacto en Drupal 9 es fácil. Drupal 9 tiene el módulo de contacto, puede empezar a utilizarlo directamente, pero tenga en cuenta que su servidor tiene que ser capaz de enviar correo o necesita utilizar un servidor SMTP para enviar su correo. Cubriré esto en detalle después de configurar el formulario de contacto, pero ten en cuenta que esto es importante.

Usted puede enviar correo electrónico entre los usuarios del sitio. No cubriré esto ya que en una instalación simple lo más probable es que sólo tengas 1 o 2 usuarios. Sin embargo, es bueno saber que usted puede tener un sistema de mensajes internos fuera de la caja.

Los tipos de campo disponibles incluyen menús de selección, casillas de verificación, entradas, áreas de texto e imágenes. Sin embargo, debes tener cuidado con lo que permites subir a un usuario anónimo, así que tenlo en cuenta.

Por defecto el botón de vista previa y la funcionalidad para eliminarlo no funciona, necesitas parchearlo para eliminarlo, el parche ha sido comprometido y estará en la 9.1.3. Si lees esto antes de que se publique la 9.1.3 aquí está el problema. Haz que el botón de Vista Previa en los Formularios de Contacto obedezca a la configuración del campo “Gestionar la visualización del formulario”.

Formulario de correo electrónico

El HTML se analiza en el lado del cliente, mientras que el correo electrónico debe enviarse desde el servidor. No se puede hacer en HTML puro. Yo sugeriría escribir un script PHP que se encargue de enviar el correo electrónico por usted.

Básicamente, en lugar del MAILTO, la acción de su formulario tendrá que apuntar a ese script PHP. En el script, recupere los valores pasados por el formulario (en PHP, están disponibles a través del superglobal $_POST) y utilice la función de envío de correo electrónico (mail()).

Por supuesto, el script debería contener algunas medidas de seguridad, como comprobar si los valores de $_POST están disponibles, así como cabeceras de correo electrónico adicionales (correo electrónico del remitente, por ejemplo), quizás una forma de tratar con la codificación de caracteres – pero eso es demasiado complejo para un ejemplo rápido ;).

Formulario para enviar correo 2021

Si utiliza la extensión “.php” en lugar de “.html” para su página web, el servidor que aloja la página sabrá ejecutar cualquier PHP que se encuentre en ella. Así que, para empezar, simplemente guarde una página HTML vacía como “contact.php”.

Todo muy sencillo, ¿verdad? El bit action=”contact.php” le dice a la página que se envíe a sí misma el contenido del formulario cuando éste se envíe. Una locura, ¿no? Estamos haciendo todo aquí con la misma página…

Este código comprueba si los datos del formulario han sido enviados y, si es así, utiliza la función mail para enviar los datos como un correo electrónico a “your@email.address” con el asunto “Formulario a mensaje de correo electrónico” y el cuerpo del mensaje que es el mismo que el campo del formulario con el nombre “mensaje”. El correo electrónico parecerá ser de “an@email.address”.

Bien, ¿qué tal si hacemos esto un poco más parecido a un formulario de “Contacto”? Podemos añadir el nombre del remitente y la dirección de correo electrónico del remitente al mensaje y también incluir un mensaje de confirmación, para que el remitente sepa que su mensaje ha sido enviado. Aquí está todo el tinglado:



Soy licenciado en Derecho desde el año 2005. Desde entonces he desarrollado mi actividad profesional en el despacho de Loustau Abogados. Especializado en la defensa de las administraciones públicas así como en la de los intereses particulares. En la jurisdicción penal, especializado en la defensa de delitos de la más variada índole, desde los delitos contra las personas hasta los relacionados con el patrimonio y los económicos.