Alle Antworten auf einen Blick
Nachgestellt am 09.10.2026 mit erfundenen Schlüsseln: die Browser-Zeilen aus einem normalen Chrome-Tab, der 403 von einem Server. Zugestellt wurde nichts.
| Status | Meldung | Ursache |
|---|---|---|
| 400 | Invalid Form ID/Access Key! Please double check for extra space! | Ein korrekt aufgebauter Schlüssel, der nicht registriert ist (Tippfehler, gelöscht, Leerzeichen) |
| 400 | Invalid form_id/access_key format. Must be a valid UUID. | Der Wert ist kein Schlüssel, zum Beispiel eine leere Variable oder eine Beschriftung |
| 400 | Form must include a 'form_id' (in path) or 'access_key' field. Visit Docs for help. | In den gesendeten Daten fehlt das Feld access_key |
| 200 | {"success":true,"message":"It works. Please insert your actual form_id or access_key to receive emails."} | Der Schlüssel ist noch der Beispielwert YOUR_ACCESS_KEY_HERE |
| 403 | This method is not allowed. Use our API in client side or contact support with server IP address (Pro plan is required) | Die Anfrage kam von einem Server, nicht aus einem Browser |
Der 200er, der nichts sendet
Web3Forms behandelt seinen Beispielschlüssel als Test. Steht in access_key der Wert YOUR_ACCESS_KEY_HERE, antwortet der Dienst mit 200 und "success": true und bittet in der Meldung darum, den echten Schlüssel einzusetzen. Ein Formular, das nur success prüft, zeigt „Vielen Dank“, und die Nachricht geht ins Leere.
Das passiert leicht aus Versehen: Tutorials und KI-Baukästen fügen den Beispielschlüssel ein, das Testabsenden „funktioniert“, und die Seite geht live. In unserem Test von 105 KI-gebauten Websites meldeten 27 Formulare Erfolg und sendeten nichts (die Studie). Durchsuchen Sie Ihren Code vor der Veröffentlichung nach YOUR_ACCESS_KEY_HERE und schicken Sie eine echte Testnachricht an Ihr Postfach.
const response = await fetch("https://api.web3forms.com/submit", {
method: "POST",
headers: { Accept: "application/json" },
body: new FormData(form), // includes <input type="hidden" name="access_key" value="...">
});
const data = await response.json();
// Web3Forms answers success: true for its sample key without sending anything,
// so also check that the key in your form is not the placeholder.
if (!data.success) throw new Error(data.message);
showSuccess();„Invalid Form ID/Access Key“ und „Must be a valid UUID“
Ein Web3Forms-Schlüssel ist eine UUID wie 963ca209-59f3-43c6-8a71-098fdbd00233. Hat der Wert diese Form, ist aber nicht registriert, kommt „Invalid Form ID/Access Key! Please double check for extra space!“. Kopieren Sie den Schlüssel noch einmal aus der E-Mail von Web3Forms oder aus dem Dashboard und prüfen Sie das value-Attribut auf Leerzeichen und Zeilenumbrüche.
Sieht der Wert gar nicht wie eine UUID aus, lautet die Antwort „Must be a valid UUID“. Meist war dann beim Build eine Umgebungsvariable leer, und auf der Seite steht undefined oder ein leerer Text, oder im Feld steht der falsche Wert. Öffnen Sie den Quelltext der veröffentlichten Seite und sehen Sie sich das versteckte Feld access_key an.
403 „This method is not allowed“: Aufruf vom Server
Web3Forms nimmt Einsendungen aus dem Browser an. Kommt dieselbe Anfrage von einem Server (eine Next.js-API-Route oder Server Action, eine Supabase Edge Function, ein Backend-Skript), antwortet der Dienst mit 403 und verlangt einen Pro-Tarif mit der IP-Adresse Ihres Servers. In unserem Test bekam jede Server-Anfrage diese Antwort, ganz gleich mit welchem Schlüssel.
Senden Sie also entweder aus dem Browser, als normales HTML-Formular oder mit fetch im Client-Code, oder nehmen Sie einen Dienst, der Server-Aufrufe annimmt. Den Aufruf in eine Server-Funktion zu verschieben, sonst die übliche Lösung bei E-Mail-APIs, löst bei Web3Forms genau diesen Fehler aus.
„Form must include a 'form_id' … or 'access_key' field“
In den gesendeten Daten fehlt access_key. Prüfen Sie, ob das versteckte Feld name="access_key" hat (nicht nur eine id), ob es innerhalb von <form> steht und ob Sie mit fetch new FormData(form) senden oder access_key in den JSON-Body aufnehmen.
Wie Formgong mit denselben Fehlern umgeht
Formgong funktioniert im Browser genauso: ein öffentlicher Schlüssel und ein POST. Für einen Platzhalter meldet Formgong aber nie Erfolg: fk_your_access_key bekommt 404 „That access key does not exist.“, ein vergessener Schlüssel sieht also nie wie ein funktionierendes Formular aus. Formgong nimmt außerdem Anfragen von Ihrem eigenen Server an; beides haben wir am 09.10.2026 geprüft. Der kostenlose Tarif umfasst 1.000 Einsendungen pro Monat, mit sofortigen Telegram-Benachrichtigungen und E-Mail; die Daten liegen in der EU. Siehe Formgong vs. Web3Forms und die HTML-Anleitung. Unser Endpunkt ist https://formgong.com/submit.
Alles in einem Konto. Feedback erwünscht
Mit einem Formgong-Konto bekommen Sie neben dem Kontaktformular, das an E-Mail und Telegram sendet, auch kostenlose Website-Vorlagen (auf Englisch), in denen das Formular schon angeschlossen ist, einen KI-Hilfe-Chat, der Fragen Ihrer Besucher aus Ihren eigenen Seiten beantwortet, und Kundenbewertungen zum Sammeln und Anzeigen. Anfragen landen in einem Posteingang. Jedes dieser Produkte hat einen kostenlosen Tarif.
Fehlt Ihnen auf dieser Seite etwas, oder ist etwas unklar? Schreiben Sie uns an support@formgong.com. Wir lesen jede Nachricht und verbessern die Seite danach.
Häufig gestellte Fragen
Warum meldet Web3Forms Erfolg, aber es kommt keine E-Mail?
Prüfen Sie den Access Key. Mit dem Beispielschlüssel YOUR_ACCESS_KEY_HERE antwortet Web3Forms mit success: true und sendet nichts. Setzen Sie Ihren echten Schlüssel ein und schicken Sie eine Testnachricht.
Was bedeutet „Invalid Form ID/Access Key“?
Der Schlüssel sieht richtig aus, ist aber nicht registriert: ein Tippfehler, ein gelöschter Schlüssel oder ein Leerzeichen. Kopieren Sie ihn erneut aus Web3Forms und prüfen Sie das value-Attribut.
Warum liefert Web3Forms 403 „This method is not allowed“?
Die Anfrage kam von einem Server. Web3Forms nimmt Server-Aufrufe nur im Pro-Tarif mit der IP-Adresse Ihres Servers an; sonst senden Sie aus dem Browser.
Kann ich Web3Forms aus einer Next.js-API-Route oder einer Supabase Edge Function aufrufen?
Im kostenlosen Tarif nicht: Das sind Server-Aufrufe, und sie bekommen 403. Senden Sie aus dem Browser oder nutzen Sie ein Formular-Backend, das Server-Anfragen annimmt.
Quellen und Dokumentation
Offizielle Quellen zu dieser Anleitung: Web3Forms: Dokumentation, MDN: FormData-Objekte verwenden. HTML-Kontaktformular, wo die Daten gespeichert werden.
Verwandte Anleitungen
- Lovable-Formular an E-Mail und Telegram senden
- HTML-Kontaktformular ohne Backend: ein funktionierendes Beispiel
- So senden Sie Website-Einsendungen an Telegram
- Kontaktformular sendet keine E-Mail? So finden Sie die Ursache
- Website-Leads in Telegram verwalten – ohne CRM
- Formular-Backend für KI-Websites: Lovable, Bolt, v0, Cursor
- Telegram-Bot fürs Kontaktformular: selbst bauen?
- Formular-Backend und DSGVO: 7 Prüfpunkte
- Kontaktformular-Spamschutz ohne Captcha
- Mailto-Formular in HTML: warum es scheitert
- HTML-Formular in Google Sheets: 2 kostenlose Wege
- Webflow-Formular-Limit: was tun nach 50?
- Turnstile vs. reCAPTCHA vs. hCaptcha im Vergleich
- Contact Form 7 und Elementor an Telegram senden
- Squarespace-Formular sendet keine E-Mail?
- Shopify-Kontaktformular: Wohin gehen Mails?
- Google Formular an Telegram: kostenlos
- Wix-Kontaktformular sendet keine E-Mail?
- EU-/DSGVO-Formspree-Alternativen im Vergleich
- WordPress-Kontaktformular ohne Plugin
- Kontaktformulare, die nichts senden: 793 KI-Websites im Test
- Formspree „Form not found“ und andere Fehler: Lösungen
- Kundenbewertungen kostenlos auf der Website einbinden
- Kontaktformular „Failed to fetch“: Ursachen und Lösungen
- WooCommerce-Produktanfrageformular
- Contact Form 7 oder WPForms
- Gravity Forms Alternative kostenlos
- WordPress Kontaktformular kostenlos
- Formular-Mails landen im Spam: die Lösung
- HTML-Formular sendet nicht ab: die fünf Schalter
- Kontaktformular funktioniert nicht: Fehler finden