Uygulama rehberi

793 Lovable ve Bolt sitesini test ettik. 105 iletişim formundan 27'si “gönderildi” dedi ama hiçbir şey göndermedi

Lovable ve Bolt sitelerindeki 105 iletişim formundan 27'si “Mesajınız gönderildi!” gösterdi ama hiçbir şey göndermedi. Nasıl test ettik, ne bulduk ve kendi formunuzu 30 saniyede nasıl kontrol edersiniz?

Kısa yanıt. Herkese açık 105 Lovable ve Bolt sitesinde iletişim formunu doldurup gönderdik ve bu sırada her ağ isteğini kaydettik. 105 formdan 27'si (%26) “Mesajınız gönderildi!” gibi bir başarı mesajı gösterdi ama mesajı hiçbir yere göndermedi; 12 form daha görünür hiçbir şey yapmadı. 105 formdan yalnızca 54'ü mesajı gerçekten gönderdi. Demo izi taşımayan sitelerde 73 formdan 16'sı sahteydi. Kendi formunuzu 30 saniyede kontrol edebilirsiniz: DevTools → Network'ü açın, formu bir kez gönderin ve yazdığınız metni taşıyan bir istek arayın.

Formgong teamGüncellendi

Mesaj göndermeyen iletişim formları: 793 site test edildi
793 Lovable ve Bolt sitesini test ettik. 105 iletişim formundan 27'si “gönderildi” dedi ama hiçbir şey göndermedi

Sahte bir iletişim formu neye benzer?

Ziyaretçinin gözünden her şey kusursuzdur. Alanlar doğrulanır, düğmede “Gönderiliyor…” yazar, yeşil bir bildirim teşekkür eder. Arkada ise tarayıcıdan hiçbir şey çıkmaz: ne istek, ne e-posta, ne de kaydedilmiş bir satır. Ziyaretçi size ulaştığını sanır. Sizin bundan hiç haberiniz olmaz.

Bu formların arkasındaki kodu okuduğumuzda kalıp neredeyse hep aynıydı: gönderme işleyicisi bir saniye bekliyor, bir bildirim gösteriyor ve alanları temizliyor. Ne fetch var, ne bir e-posta servisi, ne de veritabanı çağrısı.

Tipik bir sahte gönderme işleyicisi
// 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);
}}

Sonuçlar

Test ettiğimiz 793 sitenin 119'unda bir iletişim formu bulduk; geri kalanların çoğu hiç iletişim formu olmayan uygulamalar, paneller ve araçlardı. Bu formların 105'inde test net bir sonuç verdi (kalan 14'ü son çalıştırmada yüklenemedi, tıklanamadı ya da test değerlerimizi reddetti). Gönder düğmesine bastığımızda olanlar şunlar:

  • 105 formdan 27'si başarı mesajı gösterdi ve hiçbir şey göndermedi. Bunların 21'inin gönderme kodunu okuduk ve hiçbir ağ çağrısı olmadığını doğruladık; geri kalanlarda kod, güvenilir biçimde okunamayacak kadar küçültülmüştü (minified), ama tarayıcı da hiçbir istek görmedi.
  • 105 formdan 12'si ziyaretçinin görebileceği hiçbir şey yapmadı: ne istek ne mesaj. Bazıları doğrulamada sessizce takılıyor olabilir; her iki durumda da mesaj gönderilmiyor.
  • 105 formdan 7'si bir mailto: bağlantısıyla ziyaretçinin e-posta uygulamasını açtı. Bu yalnızca ziyaretçinin bilgisayarında kurulu bir e-posta programı varsa işe yarar.
  • Araca göre: 67 Lovable formundan 12'si ve 38 Bolt formundan 15'i sahteydi.

Gerçekten gönderen formların mesajları şuralara gitti: bir Supabase veritabanı tablosu (14), bir Supabase edge fonksiyonu (13), EmailJS (13), sitenin kendi sunucusu (4), Formspree (3), FormSubmit (1), Google Apps Script (1), diğer servisler (5).

Bunlar sadece demo değil mi?

Bir kısmı öyle. Örneklemimiz geliştiricilere doğru kayıyor: hackathon projeleri, portfolyolar ve yan projeler. Bir hackathon demosundaki sahte form kimseye bir şey kaybettirmez. Bu yüzden saymaya başlamadan önce bir kural belirledik ve her siteyi tek bir gruba koyduk: demo (hackathon projesi ya da 555'li bir telefon numarası veya example.com adresi gibi yer tutucu iletişim bilgileri), portfolyo (kişisel site) veya demo izi yok (geri kalan her şey).

Beklendiği gibi sahte form en sık demolarda çıkıyor. Ama sorun geri kalanlarda da ortadan kalkmıyor: demo izi olmayan 73 siteden 16'sında ziyaretçiye teşekkür eden ama hiçbir şey göndermeyen bir form vardı. Aralarında mağazalar, stüdyolar, bir temizlik şirketi ve ürün siteleri var; kendi alan adında yayında olan 30 sitenin 5'inde de durum aynıydı. “Demo izi yok” temkinli bir etikettir; bir işletmenin bu forma gerçekten bel bağladığını kanıtlamaz.

Nasıl test ettik

  1. Örneklem. Lovable veya Bolt ile yapılmış 813 canlı site; madewithlovable.com, Lovable'ın veya Bolt'un derleme dosyalarını kullanan GitHub projeleri, Hacker News ve Bolt hackathon galerisinden toplandı. Bunların 20'si yalnızca testin hatalarını ayıklamak için kullanıldı.
  2. Formu bulmak. Gerçek bir Chrome (Playwright) önce ana sayfayı, sonra /contact sayfasını açtı. İletişim formu sayılması için bir mesaj kutusu ve bir ad, e-posta ya da telefon alanı gerekiyordu; giriş ve bülten formları sayılmadı.
  3. Göndermeden göndermek. Görünür her alanı açıkça sahte test değerleriyle doldurduk, honeypot alanlarına hiç dokunmadık ve gönder düğmesine bastık. O andan itibaren giden her istek kaydedildi ve iptal edildi; böylece hiçbir şey site sahibine ya da herhangi bir servise ulaşmadı. Analitik pingleri yok sayıldı.
  4. Sınıflandırmak. Bir form ancak yazdıklarımızı taşıyan bir istek yaptıysa “gönderiyor” sayıldı. “Sahte başarı” ise yalnızca böyle bir istek yapılmadığında ve ekranda bir başarı mesajı belirdiğinde verildi (beş saniye boyunca her 250 ms'de bir izlendi, alert() kutuları dahil).

Kuralları testten önce yazıya döktük ve her değişikliği kayda geçirdik. İlk çalıştırmalarda hatalar vardı: analitik pingleri gönderim sayılmıştı, kısa süre görünen bildirimler kaçırılmıştı ve gizli bir honeypot alanını doldurmak, botlar için hazırlanmış sahte “teşekkürler” mesajlarını tetiklemişti. Her hata düzeltildi, cevabı bilinen 23 test sayfasında kontrol edildi ve formu olan her site yeniden test edildi. Ardından sahte formların gönderme kodunu elle okuduk.

Kendi formunuzu 30 saniyede kontrol edin

Yeşil bir mesaj hiçbir şeyi kanıtlamaz. Bir istek, formun göndermeyi denediğini kanıtlar; teslim ettiğini ise yalnızca gelen kutunuz kanıtlar. Adımlar aşağıda; isteğin Payload bölümünde yazdığınız metin görünmelidir.

AI site araçları neden sahte form üretiyor?

Gösterebildiğimiz şey kod. Okuduğumuz sahte formlarda bozulmuş bir şey yoktu: gönderme işleyicisi bekleyen, bir bildirim gösteren ve alanları temizleyen bir yer tutucuydu ve hiçbir aşamada hiçbir şey göndermemişti.

Bu yer tutucunun neden orada olduğu ise bir ölçüm değil, bizim yorumumuz; Lovable'ın veya Bolt'un varsayılan olarak ne ürettiğini test etmedik. Bir iletişim formu iki parçadan oluşur: sayfadaki alanlar ve sunucuda mesajı alıp size haber veren bir şey. İlk parça koddan başka bir şey istemez. İkincisi bir hesap, bir anahtar ya da bir backend kararı ister; Lovable'ın kendi belgeleri sizi Supabase'e ve bir edge fonksiyonu üzerinden bağlanan, Resend gibi bir e-posta servisine yönlendirir. Bu kararı kimse vermezse en kolay sonuç, yalnızca bitmiş görünen bir form olur.

Hiçbir şey göndermeyen form nasıl düzeltilir?

Üç makul seçeneğiniz var:

  • Backend'i projenizin içinde kurun. Lovable'da bu bir Supabase tablosu, bir edge fonksiyonu ve bir e-posta sağlayıcısı demek. Form başarılı görünüp e-posta gelmiyorsa teslimat kontrolü rehberimiz sorunun hangi aşamada olduğunu bulmanıza yardımcı olur.
  • mailto: kullanın. Kurulum gerekmez, ama yalnızca bilgisayarında e-posta programı kurulu ziyaretçilerde çalışır ve mesajın size kalan bir kopyası olmaz. Ayrıntılar: mailto formu mu, form backend mi?
  • Formu bir form backend'ine bağlayın. Form tek bir URL'ye gönderir; servis mesajı saklar ve size e-postayla iletir. Formgong, Formspree ve Web3Forms bu şekilde çalışır. Formgong'un ücretsiz planında ayda 300 gönderim, anında Telegram bildirimleri ve AB'de veri saklama var; remix'leyebileceğiniz hazır bir Lovable projesi de mevcut. Mevcut bir Lovable formunu bağlama adımları: Lovable formunu gerçek başvurular alacak şekilde bağlayın. Kod yazan ajanlar (Claude Code, Cursor, Codex) için formu ekleyen ve sahte işleyicileri değiştiren bir skill var: npx skills add formgong/skills.

Hangisini seçerseniz seçin, başarı mesajını yalnızca sunucu onayladıktan sonra gösterin. Sahte bir işleyicinin yerine koymak için şunu Lovable'a veya Bolt'a yapıştırın:

Lovable veya Bolt için komut
İletişim formum başarı mesajı gösteriyor ama hiçbir şey göndermiyor.
Formun gerçekten göndermesini sağla:
1. Gönderimde form alanlarını fetch ve FormData ile https://formgong.com/submit adresine POST et,
   Accept: application/json başlığını kullan ve access_key = "fk_your_access_key" alanını ekle.
2. Başarı mesajını yalnızca JSON yanıtında success === true ise göster.
   Aksi halde ziyaretçinin yazdıklarını koru ve dönen mesajı göster.
3. Formun içinde "botcheck" adlı gizli bir honeypot alanı tut.
Supabase, edge fonksiyonu, Resend veya EmailJS ekleme. Tasarımı değiştirme.

Sınırlamalar

  • Örneklem rastgele değil. Herkese açık listelerden geliyor ve geliştirici projelerine doğru kayıyor; galeriler özenle hazırlanmış siteleri öne çıkarır.
  • Her isteği engellediğimiz için formun göndermeyi denediğini gördük, e-postanın ulaşıp ulaşmadığını değil. “Gönderiyor” sayılan formlar da daha sonraki bir adımda başarısız olabilir.
  • Testi düzeltirken her site birkaç kez test edildi; sayılar 8 Ekim 2026'daki son geçişten geliyor. Birkaç site yavaş yüklendiği ya da hiç yüklenmediği için geçişler arasında grup değiştirdi. Siteler değişir; o gün sahte olan bir form o zamandan beri düzeltilmiş olabilir.
  • Ekranda hiçbir mesaj göstermeden açılan bir mailto: ya da kendi doğrulamasına takılan bir form “hiçbir şey olmuyor” gibi görünebilir. Bu yüzden o grubu ayrı raporluyoruz ve sahte formların sayısına asla eklemiyoruz.
  • Site adı vermiyoruz. Mesele kalıbın kendisi; bir demo yayımlamış insanlar değil.

Sık sorulan sorular

İletişim formumun gerçekten gönderip göndermediğini nasıl anlarım?

Yayındaki sitenizi açın, F12'ye basın, Network sekmesine geçin, formu bir kez gönderin ve yazdığınız metni içeren yeni bir istek arayın. Hiçbir istek görünmüyorsa form, hangi mesajı gösterirse göstersin, hiçbir şey göndermiyor demektir. Ardından mesajın gelen kutunuza veya panelinize ulaştığını doğrulayın.

Lovable veya Bolt formum neden “Mesajınız gönderildi” diyor ama e-posta gelmiyor?

Çoğu zaman gönderme işleyicisi yalnızca bir bildirim gösterir ve hiç istek göndermez. İstek gönderiliyorsa sorun daha ileridedir: e-posta servisinin anahtarı, bir edge fonksiyonu hatası ya da spam filtresi. Hangi durumda olduğunuzu Network sekmesi gösterir.

Yapay zekâyla yapılmış iletişim formlarının kaçı hiçbir şey göndermiyor?

Ekim 2026'da Lovable ve Bolt siteleri üzerinde yaptığımız testte 105 iletişim formundan 27'si hiçbir şey göndermeden başarı mesajı gösterdi; 12 form daha görünür hiçbir şey yapmadı. Demo izi taşımayan sitelerde 73 formdan 16'sı sahteydi.

Bu sitelere mesaj gönderdiniz mi?

Hayır. Tıklamadan sonraki her istek tarayıcıda engellendi; böylece hiçbir mesaj bir site sahibine ya da herhangi bir form servisine ulaşmadı.

Formu çalıştırmanın en hızlı yolu nedir?

Formu barındırılan bir form backend'ine bağlayın ve başarı mesajını yalnızca o onayladıktan sonra gösterin. Lovable veya Bolt için hazır bir komut bu yazıda.

Kaynaklar ve belgeler

Bu rehberin resmî kaynakları: Lovable belgeleri: Resend entegrasyonu, Chrome DevTools: Ağ etkinliğini inceleme, MDN: Fetch API'yi kullanma, Playwright: Ağ isteklerini yakalama. Lovable için Formgong, Verilerin saklanması.

Yazıyı Markdown olarak oku

Bu rehberi puanlayın

Puanınız

Her puanı okuyoruz. Yorum, ancak biz onayladıktan sonra burada görünür.

← Bloga dön