Kontaktformulare für Gatsby
Füge deiner Gatsby-Seite ein Kontaktformular hinzu, ganz ohne Netlify Forms. Es ist eine einfache React-Komponente, die an Formpaste postet, also funktioniert sie auf jedem Host, ohne Build-Time-Formularerkennung und ohne Serverless-Funktion. Sieh sie dir live an oder kopiere den Code.
So erstellst du ein Gatsby-Formular
- 1
Erstelle ein Formular in deinem Formpaste-Dashboard und kopiere den Zugangsschlüssel.
- 2
Kopiere die React-Komponente oben in eine Gatsby-Seite oder -Komponente.
- 3
Ersetze YOUR_ACCESS_KEY_HERE durch deinen Zugangsschlüssel, dann builden und deployen.
Prompt für deinen KI-Coding-Agenten
Add a Formpaste contact form to my Gatsby site without Netlify Forms. Use a React component with an onSubmit that POSTs as application/x-www-form-urlencoded (URLSearchParams) to https://api.formpaste.com/submit with a hidden access_key input. No Netlify Forms, 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.
Du brauchst kein Netlify Forms
Gatsby-Tutorials greifen gern zu Netlify Forms, aber das bindet das Formular an Netlify-Hosting und verlässt sich auf Build-Time-HTML-Parsing, um das Formular zu registrieren. Ein POST an Formpaste aus einer Komponente heraus beseitigt beide Einschränkungen: Das Formular ist nur Markup und ein Fetch, also funktioniert es unabhängig davon, ob du auf Netlify deployst.
Eine ganz normale React-Komponente
Gatsby ist React, also ist das Formular eine Komponente mit einem onSubmit,
der an den Formpaste-Endpunkt postet. Kein Gatsby-Plugin, keine
Serverless-Funktion, keine /api-Route - kopiere die Komponente, trage deinen
Zugangsschlüssel ein, und Einsendungen landen in deinem Posteingang.
Statischer Build, externer POST
Gatsby erzeugt statische Dateien, und das Formular postet an einen externen Endpunkt, also bleibt die Seite vollständig statisch und überall deploybar. Nichts am Formular erfordert SSR oder Funktionen.
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">Name
<input type="text" name="name" placeholder="Dein Name" 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>
<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>
<label className="flex flex-col gap-1.5 text-sm font-medium text-gray-900 dark:text-gray-100">Nachricht
<textarea name="message" required className="min-h-28 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"></textarea>
</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">Senden</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">Kontaktformulare für Gatsby FAQ
Formular einfügen. Einsendungen erhalten.
Sofort, ohne Backend, Server oder Datenbanken einzurichten. 250 Einsendungen/Monat kostenlos - keine Kreditkarte.
Das bekommst du mit Formpaste
Kein Server, kein DNS
Richte dein Formular auf Formpaste aus - kein Backend, kein DNS, kein E-Mail-Server zu betreiben.
Spam automatisch gefiltert
Heuristiken plus ein Quarantäne-Ordner, den du kontrollierst. Echte Nachrichten kommen immer durch.
Quarantäne, die du kontrollierst
Verdächtige Einsendungen landen in einem Ordner, den du prüfst - nichts wird stillschweigend verworfen.
Gebaut für KI-Agenten
Ein MCP-Server, den dein Coding-Agent aufruft, um ein Formular zu erstellen und einzurichten.
Copy-Paste-Komponenten
Zugänglicher Copy-Paste-Formularcode für HTML, React, TypeScript, JavaScript und Astro.
Einfaches Dashboard
Verwalte Formulare, Posteingang, Quarantäne und Zustellung an einem Ort.