Teknik Kurulum

SPF, DKIM ve DMARC Nedir? Adım Adım Nasıl Kurulur?

19 Temmuz 2026 · 4 dk okuma · Admin
ÖzetSPF, DKIM ve DMARC; e-postanızın taklit edilmesini önleyen ve gelen kutusuna ulaşmasını sağlayan üç DNS kaydıdır. 2024'ten beri Gmail/Yahoo'da zorunludur.

SPF, DKIM ve DMARC; e-postanın gerçekten sizin adınıza gönderildiğini kanıtlayan ve alan adınızın sahtekârlıkla taklit edilmesini (spoofing/phishing) önleyen üç kimlik doğrulama katmanıdır. 2024 yılından itibaren Gmail ve Yahoo, günde 5.000'den fazla mail gönderenler için bu üçünü de zorunlu kılıyor — eksik olan gönderim throttle edilir, spam'e atılır veya reddedilir. Üçü de alan adınızın DNS kayıtlarına eklenir ve birbirini tamamlar.

SPF — Sender Policy Framework (RFC 7208)

SPF, hangi sunucuların/IP'lerin sizin alan adınız adına e-posta gönderebileceğini belirten bir TXT kaydıdır. Alıcı sunucu, maili gönderen IP'nin bu listede olup olmadığını kontrol eder.

Tür: TXT   Ad: @ (alan adının kökü)
Değer: v=spf1 ip4:198.51.100.10 include:_spf.saglayici.com ~all

Önemli kurallar

  • ~all = softfail (başarısız gönderimi işaretle ama reddetme — önerilen başlangıç), -all = hardfail (katı reddetme).
  • 10 DNS sorgusu limiti (RFC 7208 §4.6.4): include, a, mx, ptr, exists mekanizmaları sayılır; ip4, ip6 ve all sayılmaz. Bu limiti aşmak PermError üretir ve SPF tamamen başarısız olur. Ayrıca en fazla 2 "void" (boş dönen) sorgu izni vardır.
  • Bir alan adının yalnızca bir SPF kaydı olmalıdır; ikinci bir v=spf1 kaydı geçersizliğe yol açar.

SPF'in tek başına bir zayıflığı, e-posta iletildiğinde (forward) bozulmasıdır — bu yüzden DKIM ile birlikte kullanılır.

DKIM — DomainKeys Identified Mail (RFC 6376)

DKIM, giden her e-postaya bir kriptografik imza (dijital mühür) ekler. İmzayı doğrulayan açık anahtar (public key) DNS'te yayınlanır; özel anahtar (private key) gönderen tarafında gizli kalır. Alıcı sunucu, DNS'teki açık anahtarla imzayı doğrulayarak mailin yolda değiştirilmediğini ve gerçekten sizden geldiğini teyit eder.

Tür: TXT   Ad: secim._domainkey
Değer: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4...(açık anahtar)

Buradaki secim bir selector'dür. Selector, aynı alan adında birden çok DKIM anahtarını ayırt etmenizi ve anahtarı periyodik olarak yenilemenizi (rotation) sağlar. İmza; genellikle From, Subject, Date gibi başlıkları ve gövdeyi kapsar.

DMARC — politikanın patronu (RFC 7489)

DMARC, SPF ve DKIM'in üstünde durur: kimlik doğrulama başarısız olduğunda ne yapılacağını söyler ve size düzenli rapor gönderir. _dmarc alt alanında yayınlanır.

Tür: TXT   Ad: _dmarc
Değer: v=DMARC1; p=none; rua=mailto:dmarc@alanadiniz.com; pct=100; adkim=r; aspf=r

Etiketler (tags)

  • p — politika: none (yalnızca izle/raporla), quarantine (spam'e at), reject (SMTP seviyesinde reddet).
  • sp — alt alan adları için ayrı politika (belirtilmezse üst politika devralınır).
  • rua — toplu (aggregate) raporların gönderileceği adres; ruf — anlık hata (forensic/failure) raporu.
  • pct — politikanın uygulanacağı başarısız mail yüzdesi (kademeli geçiş için).
  • adkim / aspf — hizalama modu: r (gevşek/relaxed) veya s (katı/strict).

Hizalama (alignment) — DMARC'ın kalbi

DMARC'ın geçmesi için SPF veya DKIM'in doğrulanması yeterli değildir; doğrulanan alan adının, alıcının gördüğü "From" adresindeki alan adıyla eşleşmesi (hizalanması) gerekir. Gmail/Yahoo, doğrudan gönderimde bu hizalamayı arar. En az bir doğrulama (SPF ya da DKIM) hem geçerli hem hizalı olmalıdır.

Önerilen kurulum sırası

  1. SPF: Tüm meşru gönderim kaynaklarınızı (kendi sunucularınız + ESP'niz) içeren tek bir SPF kaydı yayınlayın; 10 lookup limitine dikkat edin.
  2. DKIM: ESP'nizin verdiği açık anahtarı selector ile yayınlayın ve imzalamayı açın.
  3. DMARC (p=none): Önce yalnızca izleme modunda başlayın ve rua raporlarını toplayın.
  4. Raporları analiz edin: Tüm meşru kaynaklarınızın SPF/DKIM ile geçtiğini ve hizalandığını doğrulayın.
  5. Sıkılaştırın: Sorun kalmadığında p=quarantine, ardından p=reject'e geçin. İsterseniz pct ile (örn. %25 → %50 → %100) kademeli ilerleyin.

Sık karşılaşılan sorunlar

  • SPF PermError (too many DNS lookups): 10 sorgu aşıldı. Fazla include'ları azaltın veya birleştirin.
  • Birden çok SPF kaydı: Alan adında yalnızca bir v=spf1 olmalı; hepsini tek kayıtta birleştirin.
  • DMARC geçiyor ama hizalanmıyor: SPF/DKIM geçse bile "From" alan adıyla eşleşmiyorsa DMARC başarısız sayılır — doğru alan adıyla imzalayın.
  • Doğrudan p=reject: Meşru kaynaklar doğrulanmadan reject'e geçmek geçerli maillerinizi de reddeder — önce p=none ile izleyin.

SenderTR panelinde gönderim alan adınız için gerekli SPF/DKIM/DMARC kayıtlarını otomatik üretebilir, tek tıkla canlı olarak doğrulayabilir ve hizalama durumunu görebilirsiniz — böylece Gmail/Yahoo kurallarına eksiksiz uyum sağlarsınız.

Sık sorulan sorular

Sadece SPF yeterli mi?

Hayır. SPF iletilen maillerde bozulur ve DMARC hizalaması için genelde DKIM gerekir. Gmail/Yahoo da 2024'ten beri üçünü birden ister.

SPF "PermError / too many DNS lookups" nedir?

SPF değerlendirmesi 10 DNS sorgusunu aşınca (RFC 7208) oluşur ve SPF başarısız olur. Fazla include'ları azaltın veya birleştirin.

Doğrudan p=reject yapabilir miyim?

Önerilmez. Önce p=none ile raporları izleyin; tüm meşru kaynaklar doğrulanınca kademeli olarak reject'e geçin.

DKIM selector nedir?

Aynı alan adında birden çok DKIM anahtarını ayıran etikettir; selector._domainkey.alanadiniz biçiminde yayınlanır.

DMARC hizalama (alignment) nedir?

SPF veya DKIM'in doğruladığı alan adının, alıcının gördüğü "From" alan adıyla eşleşmesidir. DMARC'ın geçmesi için en az biri hizalı olmalıdır.

← Tüm rehberler