Tüm Sunucu ve E-posta %10 İndirim!limitsiz10
Güvenlik

SPF, DKIM ve DMARC Nedir? E-postalarınızın Spam'e Düşmemesi İçin Rehber

SPF, DKIM ve DMARC nedir, nasıl kurulur? Örnek DNS TXT kayıtları, adım adım DMARC geçişi, test komutları ve e-postalarınızın spam'e düşmesine yol açan hatalar.

Limitsiz Bulut EkibiAltyapı ve sistem uzmanları Yayın tarihi Güncellendi: 12 dk okuma

Teklif gönderdiniz, müşteriniz "e-posta gelmedi" diyor. Biraz arayınca iletinin spam klasöründe beklediği ortaya çıkıyor. Bu senaryonun en yaygın nedeni, alan adınızın e-posta kimlik doğrulama kayıtlarının eksik ya da hatalı olmasıdır. Alıcı sunucular her gelen iletiye "bu e-posta gerçekten bu alan adından mı geliyor?" sorusunu sorar ve yanıtı DNS'te arar. Bu yanıtı veren üç temel mekanizma SPF, DKIM ve DMARC'tır.

Bu rehberde her üç kaydın ne işe yaradığını, örnek DNS TXT kayıtlarıyla nasıl yapılandırılacağını, DMARC politikasını güvenli şekilde nasıl sıkılaştıracağınızı ve kurulumdan sonra nasıl test edeceğinizi adım adım anlatıyoruz.

Kısa özet: SPF, alan adınız adına hangi sunucuların e-posta gönderebileceğini listeler. DKIM, her iletiye kriptografik bir imza ekleyerek içeriğin yolda değiştirilmediğini kanıtlar. DMARC ise SPF ve DKIM sonuçlarını "From" adresiyle eşleştirir, başarısız iletilere ne yapılacağını söyler ve size rapor gönderir. Üçü birlikte kullanıldığında hem teslim edilebilirlik artar hem de alan adınız sahte e-postalarda (spoofing) kullanılmaya karşı korunur.

Neden bu kadar önemli?

E-posta protokolü (SMTP) ilk tasarlandığında gönderenin kimliğini doğrulayan bir mekanizma içermiyordu. Herkes, herhangi bir adresi "From" alanına yazabiliyordu. Oltalama (phishing) ve sahte fatura saldırılarının büyük kısmı bu açığı kullanır. SPF, DKIM ve DMARC bu boşluğu kapatmak için geliştirilmiş standartlardır.

2024'ten bu yana büyük e-posta sağlayıcıları, özellikle yüksek hacimli gönderenlerden SPF, DKIM ve DMARC kayıtlarını zorunlu olarak aramaya başladı. Az sayıda e-posta gönderen KOBİ'ler için de bu kayıtlar artık fiilen standarttır: eksik olduklarında iletileriniz spam olarak işaretlenebilir, hatta tamamen reddedilebilir.

MekanizmaSorduğu soruDNS konumuStandart
SPFBu sunucunun bu alan adı adına göndermeye yetkisi var mı?alanadi.com.tr TXTRFC 7208
DKIMİleti gerçekten alan adı sahibi tarafından imzalandı mı ve değiştirilmedi mi?selector._domainkey.alanadi.com.tr TXTRFC 6376
DMARCSPF/DKIM sonucu "From" alan adıyla uyumlu mu, başarısızsa ne yapılmalı?_dmarc.alanadi.com.tr TXTRFC 7489

SPF nedir ve nasıl yazılır?

SPF (Sender Policy Framework), alan adınızın kök kaydına eklenen bir TXT kaydıdır. Alıcı sunucu, iletiyi gönderen IP adresinin bu listede olup olmadığını kontrol eder. Aşağıda, kendi mail sunucusu ve bir e-posta hizmeti kullanan örnek bir firmanın SPF kaydını görüyorsunuz. Örneklerdeki ornekfirma.com.tr, IP adresleri ve include değeri temsilidir; kendi sağlayıcınızın panelinde verilen değerleri kullanın.

ornekfirma.com.tr.   3600  IN  TXT  "v=spf1 mx ip4:203.0.113.25 include:_spf.saglayici.example ~all"

SPF mekanizmaları

MekanizmaAnlamı
v=spf1Kaydın SPF sürüm 1 olduğunu belirtir; her zaman başta olmalıdır.
mxAlan adının MX kayıtlarında listelenen sunuculara izin verir.
aAlan adının A/AAAA kaydındaki IP'ye izin verir.
ip4: / ip6:Belirli bir IP adresine veya bloğa izin verir.
include:Başka bir alan adının SPF kaydını dahil eder (ör. e-posta veya bülten sağlayıcısı).
~allListede olmayanlar için "softfail": şüpheli olarak işaretle.
-allListede olmayanlar için "fail": reddet.

SPF yazarken dikkat edilmesi gerekenler

  • Tek kayıt kuralı: Bir alan adında yalnızca bir SPF kaydı olabilir. İki ayrı v=spf1 kaydı varsa SPF kontrolü "permerror" ile sonuçlanır. Yeni bir hizmet eklediğinizde mevcut kayda include ekleyin.
  • 10 DNS sorgusu sınırı: include, a, mx, exists ve redirect her biri DNS sorgusu sayılır ve iç içe include'lar da bu sayıya eklenir. Toplam 10'u aşarsa SPF geçersiz olur.
  • Tüm gönderim kaynaklarını listeleyin: Web sitenizin iletişim formu, CRM, fatura sistemi veya bülten aracı sizin adınıza e-posta gönderiyorsa hepsi SPF'te yer almalıdır.
  • +all kullanmayın: Bu ifade tüm dünyaya sizin adınıza gönderme izni verir ve SPF'i anlamsız kılar.
Yaygın hata: Web sitesi bir VPS'te, e-posta ayrı bir hizmette çalışıyorsa ve sitedeki iletişim formu doğrudan sunucudan gönderiyorsa, VPS'in IP adresini SPF'e eklemeyi unutmak formdan gelen tüm iletilerin spam'e düşmesine neden olur. Daha iyi çözüm, formun e-postayı kimlik doğrulamalı SMTP ile kurumsal e-posta hesabınız üzerinden göndermesidir.

DKIM nedir ve nasıl çalışır?

DKIM (DomainKeys Identified Mail), giden her e-postaya gönderen sunucu tarafından özel anahtarla bir dijital imza eklenmesidir. İmzaya karşılık gelen açık anahtar DNS'te yayınlanır. Alıcı sunucu, iletinin başlığındaki DKIM-Signature alanından seçiciyi (selector) ve alan adını okur, açık anahtarı DNS'ten çeker ve imzayı doğrular. İmza geçerliyse ileti yolda değiştirilmemiş ve gerçekten o alan adının yetkili sunucusundan çıkmış demektir.

Örnek bir DKIM kaydı şöyle görünür (anahtar kısaltılmıştır):

mail2026._domainkey.ornekfirma.com.tr.  3600  IN  TXT  (
  "v=DKIM1; k=rsa; "
  "p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu3X...kısaltıldı..."
  "...QIDAQAB" )

DKIM için pratik öneriler

  • Anahtar uzunluğu: 2048 bit RSA anahtarı günümüzün önerilen değeridir; 1024 bit artık zayıf kabul edilir.
  • 255 karakter sınırı: DNS'te tek bir TXT dizesi en fazla 255 karakter olabilir. 2048 bit anahtarlar yukarıdaki gibi birden fazla tırnaklı parçaya bölünür; çoğu DNS paneli bunu otomatik yapar.
  • Seçici adı: mail2026 gibi tarih içeren seçiciler, anahtar döndürme (rotation) sırasında eski ve yeni anahtarı aynı anda yayınlamanızı kolaylaştırır.
  • Her gönderim kaynağı için ayrı imza: Bülten aracınız veya CRM'iniz de sizin alan adınızla imzalamalıdır; aksi halde DMARC uyumu sağlanamaz.

DKIM'in SPF'e göre önemli bir avantajı, e-posta yönlendirildiğinde (forward) genellikle bozulmamasıdır. SPF, iletiyi son teslim eden IP'yi kontrol ettiği için yönlendirmelerde başarısız olabilir; DKIM imzası ise ileti içeriği değiştirilmediği sürece geçerli kalır.

DMARC nedir? Politika ve raporlama

DMARC (Domain-based Message Authentication, Reporting and Conformance), SPF ve DKIM'i bir üst katmanda birleştirir. İki kritik işlevi vardır:

  1. Hizalama (alignment): SPF veya DKIM'in geçmesi tek başına yetmez; doğrulanan alan adının, kullanıcının gördüğü "From" adresindeki alan adıyla uyumlu olması gerekir. DMARC'ın geçmesi için SPF veya DKIM'den en az birinin hem geçmesi hem de hizalı olması gerekir.
  2. Politika ve rapor: Kontrolden geçemeyen iletilere ne yapılacağını (none, quarantine, reject) belirtir ve alıcı sunuculardan size toplu raporlar gönderilmesini sağlar.

İlk aşama için önerilen DMARC kaydı:

_dmarc.ornekfirma.com.tr.  3600  IN  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]; fo=1"

DMARC etiketleri

EtiketÖrnekAçıklama
pnone / quarantine / rejectAna alan adı için politika: yalnızca izle, spam'e gönder veya reddet.
sprejectAlt alan adları için ayrı politika.
ruamailto:...Günlük toplu (aggregate) raporların gönderileceği adres.
pct25Politikanın iletilerin yüzde kaçına uygulanacağı; kademeli geçişte kullanılır.
adkim / aspfr / sHizalama modu: r (gevşek) alt alan adlarını kabul eder, s (katı) birebir eşleşme ister.
fo1Hata raporu üretme koşulu; 1, SPF veya DKIM'den biri başarısız olduğunda rapor ister.

Adım adım güvenli DMARC geçiş planı

Doğrudan p=reject ile başlamak, unuttuğunuz bir gönderim kaynağının (ör. muhasebe yazılımı) tüm iletilerinin reddedilmesine yol açabilir. Bu yüzden kademeli ilerlemenizi öneririz:

  1. 1-2. hafta – İzleme: p=none ile başlayın ve raporları toplayın. Raporlarda adınıza gönderim yapan tüm IP'leri ve hizmetleri tespit edin.
  2. 3-4. hafta – Düzeltme: Raporlarda görünen meşru kaynakları SPF'e ekleyin ve DKIM imzalamalarını etkinleştirin.
  3. 5-6. hafta – Kısmi karantina: p=quarantine; pct=25 ile başarısız iletilerin bir kısmını spam klasörüne yönlendirin, ardından oranı kademeli artırın.
  4. 7. hafta ve sonrası – Tam koruma: Raporlarda meşru başarısızlık kalmadığında p=reject'e geçin.
; Ara aşama
_dmarc.ornekfirma.com.tr.  IN  TXT  "v=DMARC1; p=quarantine; pct=25; rua=mailto:[email protected]"

; Hedef politika
_dmarc.ornekfirma.com.tr.  IN  TXT  "v=DMARC1; p=reject; sp=reject; adkim=r; aspf=r; rua=mailto:[email protected]"
İpucu: DMARC toplu raporları XML formatında gelir ve hacimli olabilir. Raporlar için ayrı bir posta kutusu açmak, ana kutularınızın kotasını korur.

Kurulum kontrol listesi

  • MX kayıtları doğru e-posta sunucusunu gösteriyor.
  • Alan adında tek bir SPF kaydı var ve tüm meşru gönderim kaynaklarını içeriyor.
  • SPF kaydı 10 DNS sorgusu sınırının altında.
  • DKIM imzalama etkin ve açık anahtar DNS'te yayınlanmış.
  • DMARC kaydı _dmarc alt alanında yayınlanmış ve rapor adresi çalışıyor.
  • Gönderen sunucunun ters DNS (PTR) kaydı, sunucunun ana bilgisayar adıyla eşleşiyor.
  • Web formları ve uygulamalar kimlik doğrulamalı SMTP ile gönderim yapıyor.

Kayıtları nasıl test edersiniz?

DNS değişikliklerinin yayılması TTL değerine bağlı olarak birkaç dakikadan birkaç saate kadar sürebilir. Ardından terminalden kayıtları sorgulayabilirsiniz:

# SPF
dig +short TXT ornekfirma.com.tr

# DKIM (seçici adını kendi değerinizle değiştirin)
dig +short TXT mail2026._domainkey.ornekfirma.com.tr

# DMARC
dig +short TXT _dmarc.ornekfirma.com.tr

# Windows kullanıyorsanız
nslookup -type=TXT _dmarc.ornekfirma.com.tr

En güvenilir test, gerçek bir e-posta göndermektir. Kendinize ait farklı bir sağlayıcıdaki adrese ileti gönderin ve "orijinali göster" / "kaynağı görüntüle" seçeneğiyle başlıkları açın. Authentication-Results satırında şu üç sonucu görmelisiniz:

Authentication-Results: mx.alici.example;
  spf=pass smtp.mailfrom=ornekfirma.com.tr;
  dkim=pass header.d=ornekfirma.com.tr;
  dmarc=pass header.from=ornekfirma.com.tr

Kayıtlar doğru olduğu halde spam'e düşüyorsa

SPF, DKIM ve DMARC gereklidir ama tek başına yeterli değildir. Kayıtlarınız doğruysa ve sorun devam ediyorsa şu noktaları kontrol edin:

  • IP itibarı: Gönderen IP bir kara listede (RBL) olabilir. Paylaşımlı bir sunucudan gönderim yapıyorsanız başka bir kullanıcının davranışı sizi etkileyebilir.
  • İçerik: Yalnızca görselden oluşan iletiler, kısaltılmış bağlantılar ve agresif satış ifadeleri filtreleri tetikleyebilir.
  • Toplu gönderim: Kurumsal posta kutusundan yüzlerce alıcıya aynı anda gönderim yapmak itibarınızı hızla düşürür. Toplu gönderim için uygun bir altyapı kullanın.
  • Yeni alan adı: Yeni kaydedilmiş alan adlarının itibarı henüz oluşmamıştır; gönderim hacmini kademeli artırın.

Limitsiz Bulut kurumsal e-posta paketlerinde gelen iletiler SPF, ters DNS, RBL ve öğrenen (Bayes) filtrelerden geçirilir; giden tarafta ise doğru SPF, DKIM ve DMARC kayıtlarını oluşturmanız için destek ekibimiz yardımcı olur. Toplu gönderim ihtiyacınız varsa Kurumsal Mail Server paketlerine göz atabilirsiniz.

İleri seviye: MTA-STS ve BIMI

Temel üçlüyü kurduktan sonra iki ek standart değerlendirilebilir. MTA-STS, sunucular arası e-posta iletiminde TLS şifrelemesini zorunlu kılar; politika dosyası HTTPS üzerinden yayınlandığı için alt alan adınızda geçerli bir sertifika gerekir (ör. DV SSL). BIMI ise DMARC politikası quarantine veya reject olan alan adlarının, destekleyen e-posta istemcilerinde marka logosunu göstermesini sağlar.

Sonuç

SPF, DKIM ve DMARC; e-postalarınızın alıcıya ulaşmasını sağlayan ve alan adınızı sahtecilikten koruyan temel güvenlik katmanlarıdır. Kurulumları birkaç DNS kaydından ibarettir, ancak doğru sırayla ve test ederek yapılmaları gerekir. Henüz bir alan adınız yoksa domain sorgulama ile başlayabilir, kurumsal e-postanın temellerini Kurumsal e-posta nedir? yazımızda, paket seçeneklerini ise Kurumsal e-posta fiyatları 2026 rehberimizde inceleyebilirsiniz.

Sıkça sorulan sorular

Bu konuda en çok merak edilenler

Teknik olarak hiçbiri zorunlu değildir; ancak büyük e-posta sağlayıcıları bu kayıtları giderek daha sıkı kontrol ediyor. Teslim edilebilirlik için üçünü birlikte kurmanızı öneririz.

Bu rehberi faydalı buldunuz mu? Paylaşın:
Önerilen çözüm

Kurumsal E-posta

Kendi alan adınızla güvenilir, spam korumalı ve yüksek teslim oranlı e-posta.

  • DDoS korumalı altyapı
  • 7/24 Türkçe teknik destek
Tüm blog yazılarına dön
Blog

Bunları da okumak isteyebilirsiniz

Tüm yazılar