Formulario de boletín Gatsby

Añade un formulario de boletín a tu sitio de Gatsby sin Netlify Forms. Un solo campo de correo en un componente de React que envía el POST a Formpaste, así que los suscriptores llegan a tu bandeja de entrada o a tu herramienta de correo. Funciona en cualquier host.

Como construirlo

  1. Crea un formulario en tu panel de Formpaste y copia su clave de acceso.
  2. Copia el componente de React de arriba en una página o componente de Gatsby.
  3. Reemplaza YOUR_ACCESS_KEY_HERE con tu clave de acceso, luego compila y despliega.

Prompt para tu agente de programación con IA

Add a Formpaste newsletter signup to my Gatsby site without Netlify Forms. Use a React component with a single email field that POSTs as application/x-www-form-urlencoded (URLSearchParams) to https://api.formpaste.com/submit with a hidden access_key input. No serverless function.

O conecta el servidor MCP de Formpaste con Claude Code, Codex, Cursor, Claude Desktop, VS Code o cualquier cliente mcp-remote. Ver la guía de configuración.

Puntos claves de Gatsby

Los sitios en Gatsby suelen recurrir a Netlify Forms, pero no lo necesitas. Un formulario de Formpaste es un componente React normal que envía el POST a un endpoint, así que funciona lo despliegues o no en Netlify, sin detección de formularios en tiempo de build.

No necesitas Netlify Forms

Netlify Forms ata tu formulario al hosting de Netlify y a su análisis de HTML en tiempo de build. Enviar el POST a Formpaste desde un componente funciona en cualquier host - Netlify, Gatsby Cloud, Cloudflare Pages, donde sea - y no hay nada que detectar en tiempo de build.

Es un componente React normal

Gatsby es React, así que el formulario es un componente con un onSubmit que hace fetch al endpoint de Formpaste. Sin plugin específico de Gatsby y sin función serverless propia.

Build estático, POST externo

Gatsby genera archivos estáticos y el formulario envía el POST a un endpoint externo, así que el sitio se mantiene completamente estático y desplegable en cualquier lugar. No se requiere SSR ni funciones para que el formulario funcione.

Maneja la respuesta en el estado

El endpoint devuelve JSON. Espera el fetch y muestra tu propio estado de éxito, o configura una URL de redirección en el panel para una página de agradecimiento sin JS.

Que debes acertar

Un solo campo convierte mejor

Un formulario de boletín debe pedir solo el correo electrónico. Cada campo adicional reduce los registros.

Confirma antes de celebrar

Muestra un mensaje de suscrito al tener éxito. Si necesitas doble confirmación, envíala desde tu herramienta de correo, no desde el formulario.

Envía los datos a tu herramienta de correo

Reenvía los envíos a tu ESP con un webhook para que los nuevos suscriptores lleguen adonde envías tus campañas.

Cómo funciona

Tres pasos simples para que los envíos de formularios lleguen a tu bandeja de entrada.
Crea tu formulario, apunta la URL de action al endpoint de Formpaste y añade tu clave de acceso.

1

Crea tu formulario

Regístrate, verifica tu correo y crea una clave de acceso en tu panel.

2

Copia el código

Pega el fragmento de arriba en tu proyecto. Elige CSS o Tailwind para que combine con tu sitio.

export function ContactForm() {
  async function onSubmit(e) {
    e.preventDefault();
    const form = new FormData(e.currentTarget);
    await fetch("https://api.formpaste.com/submit", { method: "POST", body: new URLSearchParams(form) });
  }

  return (
    <form onSubmit={onSubmit} className="mx-auto flex w-full max-w-md flex-col gap-4 rounded-xl border border-gray-200 bg-white p-6 shadow-sm dark:border-gray-800 dark:bg-gray-950">
      <input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE" />
      <label className="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Correo electrónico
    <input type="email" name="email" placeholder="tu@ejemplo.com" required className="rounded-md border border-gray-300 bg-white px-3 py-2 text-sm text-gray-900 shadow-sm outline-none focus-visible:ring-2 focus-visible:ring-gray-900 dark:border-gray-700 dark:bg-gray-900 dark:text-gray-100 dark:focus-visible:ring-gray-100" />
  </label>
      <button type="submit" className="w-full rounded-md bg-gray-900 px-4 py-2 text-sm font-medium text-white shadow-sm transition-colors hover:bg-gray-800 disabled:opacity-60 dark:bg-white dark:text-gray-900 dark:hover:bg-gray-200">Suscribirme</button>
    </form>
  );
}
3

Añade tu clave de acceso

Reemplaza el marcador por tu clave de acceso para empezar a recibir envíos.

<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">

Formulario de boletín Gatsby FAQ

Pega un formulario. Recibe envíos.

Al instante, sin configurar ningún backend, servidor ni base de datos. 250 envíos/mes gratis, sin tarjeta de crédito.

Otros formularios de Gatsby