# Form başarılı görünüyor ama e-posta gelmiyor: nerede duruyor?

Form isteğini, API yanıtını, kaydı, spam durumunu ve doğrulanmış alıcıları inceleyin. Turnstile sorunları için kontrol adımları.

Author: Formgong
Published: 2026-10-01
Language: tr
Canonical: https://formgong.com/blog/contact-form-not-sending-email?lang=tr

Sitenin isteği gönderip göndermediğini, Formgong kaydını ve doğrulanmış e-posta alıcısını ayrı kontrol edin. success: true isteğin kabulüdür; e-posta teslimat onayı değildir. Spam, hesap doğrulaması ve Turnstile hataları da bildirimleri etkileyebilir.

## Tek bir test mesajına odaklanın

Ekrandaki teşekkür, kayıt oluşması ve e-postanın ulaşması farklı sonuçlardır. Tanınabilir bir test mesajını yayınlanan siteden gönderin. Böylece her aşamada aynı denemeyi izlersiniz. Kodlar aşağıda Formgong içindir; başka hizmetlerde kendi belgelerine bakın.

## Düğme gerçekten istek gönderiyor mu?

Tarayıcı geliştirici araçlarında Network sekmesini açın. POST isteğinin `https://formgong.com/submit` adresine gittiğini; anahtar, alanlar ve yanıtın doğru olduğunu kontrol edin. İstek yoksa formun olay işleyicisini inceleyin. HTML için `action` ve `method`, JavaScript için `fetch` URL'si önemlidir.

## Yanıtı kontrol ederek başarı gösterin

JSON için `Accept: application/json` gönderin. Hem HTTP durumunu hem `success` değerini sınayın; tamamlanan fetch hata yanıtı da alabilir. Klasik HTML formu yönlendirme alır. Örneği `try/catch` içinde çağırın ve hatada alanları koruyun.

```javascript
// Call from your form's submit handler inside try/catch.
// Keep the entered fields when the request fails.
async function sendContactForm(form) {
  const response = await fetch("https://formgong.com/submit", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Accept: "application/json",
    },
    body: JSON.stringify({
      ...Object.fromEntries(new FormData(form)),
      access_key: "fk_your_access_key",
    }),
  });
  const result = await response.json();
  if (!response.ok || result.success !== true) {
    throw new Error(result.message || "Submission failed");
  }
  // Accepted by Formgong; this is not email-delivery confirmation.
  return result.id;
}
```

## Hata kodu sizi doğru ayara götürür

`unknown_access_key` anahtarla, `origin_not_allowed` alan adı listesiyle ilgilidir. `turnstile_missing` veya `turnstile_failed` tokenı kontrol etmenizi ister. `rate_limited` ve `limit_exceeded` farklı limitlerdir; hızlı tekrarlar çözüm değildir.

İstek sürerken düğmeyi devre dışı bırakın; bitince yeniden açın. Hata mesajıyla birlikte girilen verileri saklayın.

## Doğru formda ve spam bölümünde arayın

Sitedeki anahtarla eşleşen formu seçin. Normal kayıtların yanında spamı da inceleyin. Dolu `botcheck` başarılı görünen bir yanıtla spam kaydı oluşturabilir, bildirim gönderilmez. AI değerlendirmesiyle spam bekletme açıksa o durumu da kontrol edin.

## Kayıt varsa posta kanalını inceleyin

Hesap e-postasını doğrulayın. Formda e-posta bildirimlerinin açık olduğunu ve hedef alıcının doğrulandığını kontrol edin. Spam klasörü, filtreler ve yönlendirme kuralları son kontrol noktalarıdır.

Telegram'da mesaj olması sorunu posta kanalına daraltır; e-postanın teslim edildiğini kanıtlamaz. Ziyaretçiye otomatik yanıt da ayrı bir e-postadır.

## Koruma değiştiyse bağlantıyı güncelleyin

Güncel site key ve `cf-turnstile-response` gerekir. Tokenlar süreli ve tek kullanımlıktır; yeniden denemeden önce widget yenilenebilir. Secret key tarayıcıya eklenmez. Yayınlanan alan adını sınayın.

## Sorun devam ederse gerekli bilgileri saklayın

Sayfa adresi, test zamanı, HTTP durumu, hata kodu ve varsa gönderim ID'sini not edin. Müşteri bilgileri veya gizli anahtarları paylaşmayın. Düzeltmeden sonra tüm yolu yeniden test edin.

Bağlantı için [HTML örneği](/blog/html-contact-form-without-backend?lang=tr), ek kanal için [Telegram rehberi](/blog/website-form-to-telegram?lang=tr) kullanılabilir.

## Sık sorulan sorular

### success: true teslimat onayı mı?

Hayır. İstek kabul edilmiştir; bildirim gönderimi ayrı gerçekleşir.

### Telegram gelirken e-posta neden gelmez?

Kanallar ayrıdır. E-posta bildirimlerini, doğrulanmış alıcıyı ve spam klasörünü kontrol edin.

### botcheck neden hata göstermiyor?

Bot tuzağı olarak istek başarılı görünebilir ama spam kaydı oluşturur ve bildirim göndermez.

### Turnstile hatasından sonra ne yapılır?

Yeni token alın ve cf-turnstile-response ile gönderildiğini kontrol edin. Kullanılmış tokenı tekrar kullanmayın.

## Kaynaklar ve belgeler

- [MDN: Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch)
- [Cloudflare: Turnstile token validation](https://developers.cloudflare.com/turnstile/get-started/server-side-validation/)
- [Formgong belgeleri](https://formgong.com/docs?lang=tr)

[Form anahtarı alın](https://formgong.com/?lang=tr#top)
