action-URL und ein
verstecktes Feld anstelle der Endpunkt-ID, die in die URL eingebacken ist. Diese
Anleitung deckt den eigentlichen Austausch sowie die paar Verhaltensunterschiede ab, die
es wert sind, vor dem Umschalten zu kennen, damit nichts stillschweigend kaputtgeht.
Der Kernaustausch
Ein typisches Formspree-Formular postet direkt an einen Endpunkt mit deiner Formular-ID eingebettet in der URL:/submit, und identifiziert dein Formular stattdessen über ein verstecktes
access_key-Feld im Body, nicht über die URL:
action-URL und ein neues verstecktes
access_key-Input. Jedes andere Feld, dein email, message oder welche
benutzerdefinierten Felder dein Formular auch schon hat, behält seinen Namen und
funktioniert unverändert weiter, da keiner der beiden Dienste diese Namen reserviert.
Hol dir deinen access_key (fp_…), indem du ein Formular im
Dashboard erstellst (oder einen Agenten bittest, das über
das MCP-Tool create_form zu erledigen), siehe
Dein erstes Formular, falls du bei null anfängst.
Falls du Formsprees AJAX-/Fetch-Integration nutzt
Das Muster hat dieselbe Form, zeigt nur auf eine andere URL und trägtaccess_key im
Body statt im Endpunktpfad:
200 mit
{"success": true, "message": "Submission received.", "id": "sub_..."}, prüfe res.ok
oder success genauso, wie du zuvor die Antwort von Formspree geprüft hättest.
Den Rest deiner Einrichtung übertragen
Unterschiede, die du vor dem Wechsel kennen solltest
Keine Spam-Rätsel. Falls in dein Formspree-Formular reCAPTCHA oder hCaptcha eingebunden war, entferne es einfach, such nicht nach einem Äquivalent zum Konfigurieren. Formpaste verlässt sich vollständig auf serverseitige Heuristiken (Honeypot, Timing, Link-Dichte, Rate, Wegwerf-E-Mail), die deinem Besucher niemals ein Rätsel zeigen. Falls du für Formspree ein Honeypot-Feld hattest, benenne es inbotcheck um, das ist genau
der Name, den Formpaste prüft, und verstecke es mit CSS (display:none), nicht mit
type="hidden", damit einfache Bots, die versteckte Inputs überspringen, trotzdem
darauf hereinfallen. Siehe Spam verhindern.
Verdächtige Einsendungen werden unter Quarantäne gestellt, nicht stillschweigend
verworfen oder blockiert. Eine Einsendung, die als Spam bewertet wird, landet trotzdem
irgendwo, wo du sie sehen kannst, im Spam-Tab des Dashboards, statt zu verschwinden. Auf
Free ist diese Ansicht nur lesbar; ein False Positive erneut zuzustellen (“retten”) ist
eine Pro-Aktion. Falls dein Formspree-Spamfilter
Einsendungen stillschweigend verworfen hat, plane Zeit ein, um nach der Migration
gelegentlich den Quarantäne-Tab zu prüfen, falls etwas Legitimes einen Anstoß braucht.
Keine REST-API für Formulare oder Einsendungen. Formpaste hat keine allgemeine
REST-API zum Erstellen von Formularen oder Auflisten von Einsendungen. Formulare werden
im Dashboard oder über das MCP-Tool create_form erstellt; Einsendungen werden über das
Dashboard, CSV-Export oder das MCP-Tool list_submissions gelesen, siehe
Einsendungen abrufen, falls du bisher etwas gegen die
API-Oberfläche von Formspree skriptet hast.
Ein MCP-Server, falls du das mit einem Agenten verdrahtest. Falls du ein Formular mit
Hilfe von Claude Code, Cursor oder einem anderen MCP-sprechenden Agenten migrierst, kann
dieser das Formular erstellen und dir direkt einen fertig verdrahteten Snippet zurückgeben,
siehe MCP-Server und die Cookbook-Prompts.
Das ist kein Formspree-Äquivalent; es ist neue Möglichkeiten, die Formpaste bietet und
Formspree nicht.
Die Tarife sind einfacher. Formpaste hat genau zwei Tarife, Free und Pro (vier
Einsendungs-Kontingent-Stufen innerhalb von Pro), statt
Formsprees mehrstufiger Struktur. Siehe
Pro-Tarif, falls du prüfst, ob deine aktuelle Nutzung in Frees
250 Einsendungen/Monat passt.
Nach dem Wechsel
- Aktualisiere die
action-URL und fügeaccess_keybei jedem Formular hinzu, das du migrierst. - Verifiziere die Ziel-E-Mail jedes Formulars (einmaliges OTP pro Adresse), siehe Dein erstes Formular.
- Benenne jedes Honeypot-Feld in
botcheckum und bestätige, dass es mit CSS versteckt ist. - Entferne jedes CAPTCHA-Widget/-Skript, es wird nicht gebraucht und Formpaste liest es ohnehin nicht.
- Setze die Domain-Zulassungsliste, sobald du bestätigt hast, dass Einsendungen ankommen, damit das Formular nicht auf unbestimmte Zeit für jede Origin offen bleibt.
- Sende einen echten Test ab und bestätige, dass er im Posteingang des Dashboards und in deiner E-Mail ankommt.
Dein erstes Formular
Vollständige Anleitung zum Erstellen eines Formulars und zum Verifizieren seiner
Zieladresse.
Framework-Snippets
Fertig verdrahtete Beispiele für HTML, React, Next.js, Astro, Vue und Svelte.
Spam verhindern
Wie die Filterung funktioniert.
Einsendungen abrufen
Dashboard, CSV-Export und das MCP-Tool, keine REST-API.