İşlemsel E-posta8 dk okuma

İletişim Formu E-postaları Gelmiyor

Contact Form 7 ve WordPress yerleşik e-posta sistemi, SPF/DKIM hizalama olmadan neredeyse her zaman spam klasörüne düşer. İşte sorunun kökü, test yöntemi ve tam çözüm.

İletişim formu e-postaları sitemize hiç gelmiyor, spam klasörüne mi gitti, yoksa sunucumun sorunu mu — bu soru birçok WordPress site sahibini endişelendirir. Özellikle Contact Form 7 (CF7) kullanıyorsanız ve e-posta ayarlarını hiç değiştirmediyseniz, formdan gelen e-postalar büyük ihtimalle WordPress'in yerleşik wp_mail() işlevini kullanarak gönderiliyordur — ve bu da sorunun temel sebebidir.

WordPress İletişim Formları Neden Çalışmıyor?

Contact Form 7, WPForms, Gravity Forms gibi popüler eklentiler, özel bir gönderim yöntemi belirtilmediği sürece WordPress'in native wp_mail() işlevini çağırırlar. Bu işlev, sunucunun standart PHP posta kütüphanesine (genelde Sendmail veya Postfix) bağlanır — ve sunucu IP adresi, domain SPF/DKIM kayıtlarıyla hizalı olmadığı için, Gmail, Outlook, Yandex gibi büyük e-posta sağlayıcıları bu e-postaları kolayca spam olarak işaretlerler.

Başka bir deyişle: form gönderdiğiniz zaman WordPress hiçbir hata mesajı göstermeyebilir (sistem "gönderildi" der), ama alıcı eline asla ulaşmaz — e-posta ya spam klasörüne düşer, ya da tamamen reddedilir.

wp_mail() Fonksiyonunun Temel Sınırlamaları

WordPress'in yerleşik wp_mail() işlevi üç kritik sorunla karşı karşıyadır:

  • SPF ve DKIM Hizalaması Yok: Sunucu IP'si, domain SPF kaydında listelenmemişse veya DKIM imzası atılmışsa, alıcı sunucular bu e-postayı sahte olarak tanır.
  • Sunucu IP'sinin İtibarı Düşük: Web sunucusu IP'si daha önce başkaları tarafından spam göndermek için kullanılmışsa, o IP'nin itibarı zedelenmiştir — yeni siteleriniz de bu olumsuz tarihçeden etkilenir.
  • SMTP Kimlik Doğrulaması Yok: wp_mail() doğrudan yerel Sendmail/Postfix'e konuşur; SendGrid, Brevo gibi harici SMTP sunucusu üzerinden göndermiyor, dolayısıyla bu sağlayıcıların saygın IP havuzundan faydalanmıyor.

Sonuç: yeni domainler ve az trafikli siteler neredeyse garantili olarak spama düşer.

Web Sunucusu (IP: 123.45.67.89)SPF/DKIM?HizalanmamışGmail FiltresiŞüpheli kaynak, IP'nin kötü itibarıSPAM90% ihtimal
wp_mail() kullanılan e-posta yolculuğu

E-postaların Gelip Gelmediğini Nasıl Test Edebilirsiniz?

Sorunu tanılamak için bu kontrol listesini takip edin:

  1. Kendi e-postanıza form gönderin: Gmail/Outlook/Yandex spam klasörüne bakın. Orada mı? O zaman spam filtresinden geçemiyor.
  2. WordPress debug log'u kontrol edin: /wp-content/debug.log dosyasına bakın (eğer debug etkinse). wp_mail() hatası yazıyor mu?
  3. Sunucu posta log'u: Hosting panelinde (cPanel, Plesk, vb.) posta gönderimi kaydını kontrol edin. Hata mesajı var mı?
  4. Ücretsiz inbox placement test yapın: check.live-direct-marketing.online üzerinde e-postanızı test edin — sistem gerçek Gmail, Outlook, Yandex kutularında hangi klasöre düştüğünü ekran görüntüsüyle gösterecektir.
Pro İpucu: Ücretsiz Test Aracını Kullanın
check.live-direct-marketing.online adresinde hiç kayıt olmadan ücretsiz inbox placement testini yapın. E-postanız 20+ e-posta sağlayıcısında (Gmail, Outlook, Yandex dahil) tam olarak nereye düşüyor, SPF/DKIM/DMARC doğrulaması, spamedness skoru — hepsi anında görünür. Sorunun kaynağını bulmanın en hızlı yolu budur.

WP Mail SMTP Eklentisi ile Çözüm

En pratik çözüm: "WP Mail SMTP" (ücretsiz) eklentisini yükleyin ve Brevo, SendGrid veya benzer harici SMTP sağlayıcıları üzerinden mail gönderin.

Kurulum adımları:

  1. WordPress yönetim paneli → Eklentiler → Yeni Ekle
  2. "WP Mail SMTP" arayın, yükleyin ve etkinleştirin
  3. Ayarlar → WP Mail SMTP menüsüne gidin
  4. Mail göndericisi: "Sitenin Adı" yazın
  5. "Başka SMTP" seçin (veya Brevo/SendGrid/Mailgun seçeneğini kullanın)
  6. Sağlayıcıdan API key'i alın (hesabınızda) ve eklentiye yapıştırın
  7. Sağlayıcı bilgilerini girin ve kaydedin
  8. "Test E-postası Gönder" tuşuna tıklayın

Brevo ve SendGrid ücretsiz tier'lerde ayda 300–1000 arası e-postayla başlarsınız — çoğu küçük ve orta site için yeterlidir.

Dikkat: Eklentiyi kurmak tek başına yeterli değil — gönderici domeniz için SPF ve DKIM kayıtları da gereklidir.

Gönderici Domeniz İçin SPF ve DKIM Ayarlaması

Brevo veya SendGrid'den e-posta gönderdikten sonra, Gmail ve Outlook gibi sağlayıcılar kimin gönderiş yapıyor olduğunu doğrulamak için SPF ve DKIM kayıtlarını kontrol ederler.

SPF (Sender Policy Framework) Kaydı:

DNS sağlayıcınızda (Hostinger, GoDaddy, Cloudflare, vb.) TXT kaydı oluşturun:

v=spf1 include:sendgrid.net ~all

(SendGrid için) veya:

v=spf1 include:brevo.net ~all

(Brevo için)

v=spf1 include:sendgrid.net ~allSürüm ve protokol tanımıSendGrid IP'lerini yetkili gönderici olarak tanımlaDiğer kaynaklar zarflı başarısız
SPF kaydının yapısı ve anlamı

DKIM (DomainKeys Identified Mail) Kaydı:

SendGrid/Brevo panelinden DKIM imza kaydını alın ve DNS'e CNAME veya TXT kaydı olarak ekleyin. SendGrid genelde default._domainkey.example.com formatında bir CNAME sağlar.

DNS değişiklikleri 1–24 saat içinde yayılır. Doğrulama tamamlandıktan sonra WP Mail SMTP'de "Test E-postası Gönder" tuşuna tıklayın — artık Inbox'a gitmesi gerekir.

Türkiye'de İYS Uyumluluğu

Türkiye'de ticari e-posta gönderirken İYS (İleti Yönetim Sistemi) uyumluluğu zorunludur. İletişim formu üzerinden gelen müşteri mesajlarına otomatik yanıt gönderirseniz, bu yanıtların İYS'de kayıtlı olması ve alıcının izni bulunması gerekebilir.

Pratik rehber:

  • Müşteri gönderdiği form mesajına yalnızca sistem onayı (bilişim amaçlı) gönderin — bu genelde İYS kapsamı dışındadır.
  • Müşteri e-postasını onayı sormadan spam listesine eklemek veya ticari reklam mail göndermek KVKK ihlalidir.
  • Contact Form 7'ye "Rıza Onay Kutusu" (checkbox) ekleyin: "Bana e-bülten ve pazarlama e-postaları göndermek için izin veriyorum" — bunu almak KVKK ve İYS uyumluluğu sağlar.

Contact Form 7 e-postaları neden spam klasörüne düşüyor?

Çünkü WordPress wp_mail() sunucu IP'sinden gönderme yapıyor ve o IP, domain SPF/DKIM kayıtlarıyla hizalı değil. Çözüm: WP Mail SMTP eklentisini yükleyin, Brevo veya SendGrid gibi harici SMTP sağlayıcısı seçin ve SPF/DKIM kayıtlarını DNS'ye ekleyin.

WP Mail SMTP ücretsiz mi?

Evet, eklenti tamamen ücretsiz. Ama Brevo/SendGrid gibi SMTP sağlayıcılar kendi ücretsiz tier'lerini sundu — ücretsiz seviyede ayda 300–1000 e-posta gönderebilirsiniz. Sitede daha fazla trafik varsa ücretli plana geçmeniz gerekebilir.

İYS nedir ve contact form'u uyumlu hale nasıl getirebilirim?

İYS, müşterilerin ticari e-posta almak isteyip istemediklerini yöneten Türkiye'nin resmi sistemidir. Formunuza "e-bülten kabul et" checkbox'ı ekleyin ve müşterinin bunu işaretlemesini şart koşun. Form mesajlarına yalnızca sistem onayı gönderin (reklam niteliğinde değilse).
İlgili yazılar
Found this useful? Share it
AB
Yazar hakkında
Artem Berezin
B2B Deliverability Specialist

B2B deliverability specialist with 5+ years of hands-on outreach experience. Built campaigns reaching 90,000+ inboxes across 20+ countries — and fixed the deliverability problems that came with that scale.

20'den fazla sağlayıcıda teslim edilebilirliğinizi kontrol edin

Gmail, Outlook, Yahoo, GMX, ProtonMail ve daha fazlası. Gerçek gelen kutusu ekran görüntüleri, SPF/DKIM/DMARC, spam filtresi kararları. Ücretsiz, kayıt gerektirmez.

Ücretsiz testi başlat →

Sınırsız test · 20+ posta kutusu · Canlı sonuçlar · Hesap gerekmez