So sieht ein Fake-Kontaktformular aus
Für Besucher wirkt alles einwandfrei. Die Felder werden geprüft, der Button zeigt „Wird gesendet…“, und eine grüne Meldung bedankt sich. Dahinter verlässt nichts den Browser: keine Anfrage, keine E-Mail, kein gespeicherter Datensatz. Der Besucher glaubt, Sie erreicht zu haben. Sie erfahren nie davon.
Als wir den Code hinter diesen Formularen gelesen haben, war das Muster fast immer dasselbe: Der Submit-Handler wartet eine Sekunde, zeigt eine Toast-Meldung und leert die Felder. Es gibt kein fetch, keinen E-Mail-Dienst und keinen Datenbankaufruf.
// What we found, again and again (de-minified, names shortened):
onSubmit={(e) => {
e.preventDefault();
setSending(true);
setTimeout(() => {
toast({ title: "Message sent!", description: "We'll get back to you soon." });
form.reset();
setSending(false);
}, 1000);
}}Die Ergebnisse
Ein Kontaktformular fanden wir auf 119 der 793 getesteten Websites; die meisten übrigen waren Apps, Dashboards und Tools ganz ohne Kontaktformular. Bei 105 dieser Formulare lieferte der Test ein eindeutiges Ergebnis (die anderen 14 ließen sich im letzten Durchlauf nicht laden oder anklicken oder lehnten unsere Testwerte ab). Das passierte nach dem Klick auf „Senden“:
- 27 von 105 zeigten eine Erfolgsmeldung und sendeten nichts. Bei 21 davon haben wir den Submit-Code gelesen und bestätigt, dass es keinen Netzwerkaufruf gibt; beim Rest war der Code zu stark minifiziert, um ihn verlässlich zu lesen, aber der Browser sah keine Anfrage.
- 12 von 105 taten nichts, was ein Besucher sehen könnte: keine Anfrage, keine Meldung. Manche scheitern vielleicht still an der Validierung; so oder so wird keine Nachricht gesendet.
- 7 von 105 öffneten über einen
mailto:-Link das Mailprogramm des Besuchers. Das klappt nur, wenn der Besucher ein Desktop-Mailprogramm eingerichtet hat. - Nach Builder: 12 von 67 Lovable-Formularen und 15 von 38 Bolt-Formularen waren Fakes.
Die Formulare, die tatsächlich sendeten, gingen an: eine Supabase-Datenbanktabelle (14), eine Supabase Edge Function (13), EmailJS (13), den eigenen Server der Website (4), Formspree (3), FormSubmit (1), Google Apps Script (1), andere Dienste (5).
Sind das nicht einfach Demos?
Manche schon. Unsere Stichprobe ist entwicklerlastig: Hackathon-Beiträge, Portfolios und Nebenprojekte. Ein Fake-Formular auf einer Hackathon-Demo schadet niemandem. Deshalb haben wir vor dem Zählen eine feste Regel aufgestellt und jede Website genau einer Gruppe zugeordnet: Demo (Hackathon-Beitrag oder Platzhalter-Kontakte wie eine 555-Telefonnummer oder eine example.com-Adresse), Portfolio (eine persönliche Website) oder ohne Demo-Anzeichen (alles andere).
Bei Demos ist das Formular am häufigsten nur Attrappe, wie zu erwarten. Auf den übrigen Websites verschwindet das Problem aber nicht: 16 von 73 Websites ohne Demo-Anzeichen – Shops, Studios, eine Reinigungsfirma, Produktseiten; darunter 5 der 30 mit eigener Domain – hatten ein Formular, das sich beim Besucher bedankt und nichts sendet. „Ohne Demo-Anzeichen“ ist eine vorsichtige Einordnung, kein Beweis, dass ein Unternehmen auf das Formular angewiesen ist.
So haben wir getestet
- Stichprobe. 813 Live-Websites, gebaut mit Lovable oder Bolt, gesammelt aus madewithlovable.com, GitHub-Projekten mit den Build-Dateien von Lovable oder Bolt, Hacker News und der Galerie des Bolt-Hackathons. 20 davon dienten nur zum Debuggen des Tests.
- Formular finden. Ein echtes Chrome (Playwright) öffnete die Startseite, dann
/contact. Als Kontaktformular galt ein Formular mit Nachrichtenfeld und einem Feld für Name, E-Mail oder Telefon; Login- und Newsletter-Formulare zählten nicht. - Absenden, ohne zu senden. Wir füllten jedes sichtbare Feld mit eindeutig erfundenen Testwerten, rührten Honeypot-Felder nie an und klickten auf „Senden“. Ab diesem Moment wurde jede ausgehende Anfrage aufgezeichnet und abgebrochen, sodass nichts beim Betreiber oder bei einem Dienst ankam. Analytics-Pings haben wir ignoriert.
- Einordnen. Ein Formular „sendet“ nur, wenn eine Anfrage unsere Eingaben enthielt. Es „täuscht Erfolg vor“ nur, wenn keine solche Anfrage stattfand und eine Erfolgsmeldung erschien (fünf Sekunden lang alle 250 ms geprüft, einschließlich
alert()-Fenstern).
Die Regeln haben wir vor dem Test schriftlich festgelegt und jede Änderung protokolliert. Die ersten Durchläufe hatten Fehler: Analytics-Pings zählten als Senden, kurzlebige Toasts wurden übersehen, und das Ausfüllen eines versteckten Honeypots löste vorgetäuschte Dankesmeldungen aus, die für Bots gedacht sind. Jeder Fehler wurde behoben und an 23 Testseiten mit bekanntem Ergebnis geprüft, und jede Website mit Formular wurde erneut getestet. Danach haben wir den Submit-Code der Fake-Formulare von Hand gelesen.
Ihr eigenes Formular in 30 Sekunden prüfen
Eine grüne Meldung beweist nichts. Eine Anfrage beweist, dass das Formular es versucht hat, und erst Ihr Posteingang beweist, dass die Nachricht angekommen ist. Die Schritte stehen unten; im Payload der Anfrage sollte der Text stehen, den Sie eingegeben haben.
Warum KI-Builder Fake-Formulare erzeugen
Was wir zeigen können, ist der Code. In den Fake-Formularen, die wir gelesen haben, war nichts kaputtgegangen: Der Submit-Handler war ein Platzhalter, der wartet, eine Toast-Meldung zeigt und die Felder leert. Er hat zu keinem Zeitpunkt etwas gesendet.
Warum dieser Platzhalter dort steht, ist unsere Deutung, keine Messung; was Lovable oder Bolt standardmäßig erzeugen, haben wir nicht getestet. Ein Kontaktformular besteht aus zwei Teilen: den Feldern auf der Seite und etwas auf einem Server, das die Nachricht annimmt und Sie benachrichtigt. Der erste Teil braucht nur Code. Der zweite braucht ein Konto, einen Schlüssel oder eine Backend-Entscheidung, und Lovables eigene Dokumentation verweist auf Supabase plus einen E-Mail-Dienst wie Resend, verbunden über eine Edge Function. Trifft niemand diese Entscheidung, ist ein Formular, das nur fertig aussieht, das einfachste Ergebnis.
So reparieren Sie ein Formular, das nichts sendet
Sie haben drei sinnvolle Möglichkeiten:
- Das Backend im eigenen Projekt bauen. In Lovable heißt das: eine Supabase-Tabelle, eine Edge Function und ein E-Mail-Anbieter.
mailto:verwenden. Keine Einrichtung, aber es funktioniert nur bei Besuchern mit Desktop-Mailprogramm, und Sie bekommen keine Kopie der Nachricht. Mehr dazu: Mailto-Formular in HTML: warum es scheitert.- Das Formular an ein Formular-Backend senden. Das Formular sendet an eine URL; der Dienst speichert die Nachricht und schickt sie Ihnen per E-Mail. Formgong, Formspree und Web3Forms funktionieren alle so. Bei Formgong enthält der Free-Tarif 300 Einsendungen im Monat, sofortige Telegram-Benachrichtigungen und Datenspeicherung in der EU; es gibt ein fertiges Lovable-Projekt zum Remixen und die Anleitung Lovable-Formular an E-Mail und Telegram senden. Für Coding-Agenten (Claude Code, Cursor, Codex) gibt es einen Skill, der das Formular einbaut und falsche Handler ersetzt:
npx skills add formgong/skills.
Wofür Sie sich auch entscheiden: Zeigen Sie die Erfolgsmeldung erst, wenn der Server bestätigt hat. Diesen Prompt können Sie in Lovable oder Bolt einfügen, um einen Fake-Handler zu ersetzen:
Mein Kontaktformular zeigt eine Erfolgsmeldung, sendet aber nichts. Das Formular soll wirklich senden: 1. Beim Absenden die Formularfelder mit fetch und FormData per POST an https://formgong.com/submit senden, mit dem Header Accept: application/json, und access_key = "fk_your_access_key" anhängen. 2. Die Erfolgsmeldung nur anzeigen, wenn die JSON-Antwort success === true enthält. Sonst die Eingaben des Besuchers behalten und die zurückgegebene Meldung anzeigen. 3. Ein verstecktes Honeypot-Feld mit dem Namen "botcheck" im Formular behalten. Kein Supabase, keine Edge Functions, kein Resend und kein EmailJS hinzufügen. Das Design nicht ändern.
Grenzen der Studie
- Die Stichprobe ist nicht zufällig. Sie stammt aus öffentlichen Listen und ist entwicklerlastig; Galerien bevorzugen polierte Websites.
- Weil wir jede Anfrage blockiert haben, sahen wir, ob ein Formular zu senden versuchte, nicht ob die E-Mail ankam. Formulare, die als „sendet“ zählen, können später trotzdem scheitern.
- Jede Website wurde mehrfach getestet, während wir den Test korrigierten; die Zahlen stammen aus dem letzten Durchlauf am 8. Oktober 2026. Einige Websites wechselten zwischen den Durchläufen die Kategorie, weil sie langsam oder gar nicht luden. Websites ändern sich; ein Formular, das ein Fake war, kann inzwischen repariert sein.
- Ein
mailto:, das sich ohne Meldung auf dem Bildschirm öffnet, oder ein Formular, das an der eigenen Validierung hängen bleibt, kann wie „nichts passiert“ aussehen. Deshalb weisen wir diese Gruppe getrennt aus und zählen sie nie zu den Fakes. - Wir nennen keine Websites. Es geht um das Muster, nicht um die Leute, die eine Demo veröffentlicht haben.
Häufig gestellte Fragen
Woran erkenne ich, ob mein Kontaktformular wirklich sendet?
Öffnen Sie Ihre Live-Website, drücken Sie F12, wechseln Sie zum Tab Network („Netzwerk“), senden Sie das Formular einmal ab und suchen Sie nach einer neuen Anfrage mit Ihren Eingaben. Erscheint keine Anfrage, sendet das Formular nichts, ganz gleich, welche Meldung es zeigt. Prüfen Sie danach, ob die Nachricht in Ihrem Posteingang oder Dashboard angekommen ist.
Warum zeigt mein Lovable- oder Bolt-Formular „Nachricht gesendet“, aber ich bekomme keine E-Mail?
Oft zeigt der Submit-Handler nur eine Toast-Meldung und sendet nie eine Anfrage. Wird eine Anfrage gesendet, liegt das Problem weiter hinten: beim Schlüssel des E-Mail-Dienstes, bei einem Fehler in der Edge Function oder im Spamfilter. Der Network-Tab zeigt Ihnen, welcher Fall vorliegt.
Wie viele mit KI gebaute Kontaktformulare senden nichts?
In unserem Test von Lovable- und Bolt-Websites im Oktober 2026 zeigten 27 von 105 Kontaktformularen eine Erfolgsmeldung, ohne etwas zu senden, und bei weiteren 12 passierte sichtbar nichts. Auf Websites ohne Demo-Anzeichen waren 16 von 73 Fakes.
Haben Sie diesen Websites Nachrichten geschickt?
Nein. Jede Anfrage nach dem Klick wurde im Browser blockiert, sodass keine Nachricht bei einem Website-Betreiber oder einem Formular-Dienst ankam.
Wie bringe ich das Formular am schnellsten zum Laufen?
Lassen Sie das Formular an ein gehostetes Formular-Backend senden und zeigen Sie die Erfolgsmeldung erst, wenn es bestätigt hat. Einen Prompt für Lovable oder Bolt finden Sie in diesem Artikel.
Quellen und Dokumentation
Offizielle Quellen zu dieser Anleitung: Lovable-Dokumentation: Resend-Integration, Chrome DevTools: Netzwerkaktivität untersuchen, MDN: Die Fetch API verwenden, Playwright: Netzwerkanfragen abfangen. Formgong für Lovable, wo die Daten gespeichert werden.
Diesen Artikel als Markdown lesenVerwandte 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