Gatsby-Newsletter-Formular
Füge deiner Gatsby-Site ein Newsletter-Anmeldeformular hinzu, ganz ohne Netlify Forms. Ein E-Mail-Feld in einer React-Komponente postet an Formpaste, sodass Abonnenten in deinem Posteingang oder E-Mail-Tool landen. Funktioniert auf jedem Host.
So baust du es
- Erstelle ein Formular in deinem Formpaste-Dashboard und kopiere den Zugangsschlüssel.
- Kopiere die React-Komponente oben in eine Gatsby-Seite oder -Komponente.
- Ersetze YOUR_ACCESS_KEY_HERE durch deinen Zugangsschlüssel, dann bauen und deployen.
Prompt für deinen KI-Coding-Agenten
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.Oder verbinde den Formpaste-MCP-Server mit Claude Code, Codex, Cursor, Claude Desktop, VS Code oder einem beliebigen mcp-remote-Client. Zur Einrichtungsanleitung.
Gatsby-Fallstricke
Gatsby-Seiten greifen oft zu Netlify Forms, aber das ist nicht nötig. Ein Formpaste-Formular ist eine ganz normale React-Komponente, die an einen Endpunkt postet, es funktioniert also unabhängig davon, ob du auf Netlify deployst, und ganz ohne Formular-Erkennung zur Build-Zeit.
Du brauchst kein Netlify Forms
Netlify Forms bindet dein Formular an das Netlify-Hosting und dessen HTML-Parsing zur Build-Zeit. Ein Post an Formpaste aus einer Komponente heraus funktioniert auf jedem Host - Netlify, Gatsby Cloud, Cloudflare Pages, überall - und es gibt nichts, was zur Build-Zeit erkannt werden müsste.
Es ist eine normale React-Komponente
Gatsby ist React, das Formular ist also eine Komponente mit einem onSubmit, der den Formpaste-Endpunkt aufruft. Kein gatsby-spezifisches Plugin und keine eigene Serverless-Funktion.
Statischer Build, externes POST
Gatsby erzeugt statische Dateien, und das Formular postet an einen externen Endpunkt, die Seite bleibt also vollständig statisch und überall deploybar. Für das Formular sind weder SSR noch Functions erforderlich.
Verarbeite die Antwort im State
Der Endpunkt liefert JSON zurück. Warte auf den Fetch und zeige deinen eigenen Erfolgsstatus, oder hinterlege eine Redirect-URL im Dashboard für eine Danke-Seite ganz ohne JavaScript.
Worauf es ankommt
Ein Feld konvertiert am besten
Ein Newsletter-Formular sollte nur nach der E-Mail fragen. Jedes zusätzliche Feld senkt die Anmeldungen.
Bestätige, bevor du feierst
Zeig bei Erfolg eine Abonniert-Meldung. Falls du Double-Opt-in brauchst, versende die Bestätigung über dein E-Mail-Tool, nicht über das Formular.
Leite an dein E-Mail-Tool weiter
Leite Einsendungen mit einem Webhook an dein ESP weiter, damit neue Abonnenten dort landen, wo du deine Kampagnen versendest.
So funktioniert es
Drei einfache Schritte, bis Formular-Einsendungen in deinem E-Mail-Posteingang landen.
Erstelle dein Formular, setze die action-URL auf den Formpaste-Endpunkt und trage deinen Zugangsschlüssel ein.
Formular erstellen
Melde dich an, verifiziere deine E-Mail und erstelle einen Zugangsschlüssel im Dashboard.
Code kopieren
Füge das Snippet oben in dein Projekt ein. Wähle CSS oder Tailwind passend zu deiner Website.
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">E-Mail
<input type="email" name="email" placeholder="du@beispiel.de" 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">Abonnieren</button>
</form>
);
}Zugangsschlüssel hinzufügen
Ersetze den Platzhalter durch deinen Zugangsschlüssel, um Einsendungen zu empfangen.
<input type="hidden" name="access_key" value="YOUR_ACCESS_KEY_HERE">Gatsby-Newsletter-Formular FAQ
Formular einfügen. Einsendungen erhalten.
Sofort, ohne Backend, Server oder Datenbanken einzurichten. 250 Einsendungen/Monat kostenlos - keine Kreditkarte.