Cómo conectar tu formulario HTML

Formulario de contacto sin PHP

Un formulario HTML puede enviar datos, pero no procesarlos. Tradicionalmente lo hace un script PHP en su alojamiento web. Si su alojamiento no ofrece PHP o no quiere mantener un script, hay otra forma.

Por qué los formularios suelen necesitar un script PHP

El navegador envía los datos a la dirección del atributo action. Allí tiene que ejecutarse un programa que los reciba y los reenvíe como correo. En un alojamiento web clásico suele ser un script PHP con la función mail().

Los alojamientos estáticos como GitHub Pages, Netlify o Cloudflare Pages no ejecutan PHP. E incluso donde hay PHP, un script propio da trabajo: tiene que frenar el spam, no debe poder usarse para enviar correos ajenos y los mensajes deben llegar a la bandeja de entrada y no a la carpeta de spam.

La alternativa: enviar el formulario a un servicio

En lugar de a un script propio, el atributo action apunta a una dirección de FormPost. Recibimos el envío, comprobamos si es spam, lo guardamos y le enviamos un correo. En su sitio solo cambia esta línea.

Obtiene la dirección al crear un formulario en FormPost. Sustituye a https://www.formpost.eu/f/abc123 en el código de abajo.

contact.html
<form action="https://www.formpost.eu/f/abc123" method="POST">
  <label for="email">Correo</label>
  <input type="email" id="email" name="email" required>

  <label for="message">Mensaje</label>
  <textarea id="message" name="message" required></textarea>

  <input type="text" name="_gotcha" style="display:none;" tabindex="-1" autocomplete="off">

  <button type="submit">Enviar</button>
</form>

Cuándo es mejor un script PHP propio

Si su alojamiento ya ejecuta PHP, no le importa mantener el script y los datos deben quedarse en su propio servidor, no hay nada en contra de un script propio. Lo mismo si necesita algo que FormPost no ofrece, como archivos adjuntos o el envío sin cambio de página.

Un servicio compensa si no tiene servidor o no quiere ocuparse del spam, la entregabilidad y las actualizaciones.

Conviene saber

  • Cada formulario está vinculado a su dominio. Rechazamos los envíos desde otros sitios para que nadie pueda copiar la dirección de su formulario y abusar de ella.
  • El campo oculto _gotcha del código de arriba ayuda contra el spam. Además puede activar una sencilla pregunta aritmética que se ejecuta en nuestros servidores; no hace falta ningún servicio de captcha externo.
  • En el plan gratuito enviamos hasta diez notificaciones al día. Lo que llegue después no se pierde, sino que aparece en su panel.

Lo que FormPost todavía no hace

  • Los formularios se envían de forma clásica, es decir, cambiando de página. De momento no admitimos el envío en segundo plano con JavaScript.
  • No aceptamos archivos adjuntos.
  • FormPost no recoge el consentimiento de tus visitantes. El aviso en tu propia política de privacidad sigue siendo cosa tuya; el texto para ello lo tienes ya redactado junto a tu formulario.

Más guías y comparativas

Crea un formulario y pruébalo

El plan Free cubre un formulario con diez avisos al día y no cuesta nada, de forma permanente.