SPF

Eş anlamlılar: Sender Policy Framework

SPF (Sender Policy Framework), bir domain adına hangi sunucuların e-posta gönderme yetkisi olduğunu belirten e-posta doğrulama protokolüdür. DNS'te TXT kaydı olarak yayınlanır. SPF olmayan domain'lerden gelen mail'ler spam filtrelerinde başarısız olur.

SPF Nedir?

SPF (Sender Policy Framework), e-posta sahtekarlığını (spoofing) önlemek için tasarlanmış bir DNS tabanlı kimlik doğrulama protokolüdür. Bir domain sahibi, hangi sunucuların kendi adına mail göndermesine izin verildiğini SPF kaydı ile ilan eder. Alıcı mail sunucusu bu kaydı kontrol ederek gönderenin meşru olup olmadığına karar verir.

SPF Kaydı Formatı

v=spf1 ip4:95.134.4.44 include:_spf.google.com ~all
  • v=spf1: Sürüm tanımı (şart)
  • ip4: Yetkili IP adresi (doğrudan)
  • include: Başka bir domain'in SPF politikasını dahil et
  • a: Domain'in A kaydındaki IP yetkili
  • mx: Domain'in MX kaydındaki sunucular yetkili
  • ~all: "Diğer her şey soft fail" (spam olarak işaretle)
  • -all: "Diğer her şey hard fail" (reddet)
  • +all: Herkese izin ver (GÜVENSİZ, asla kullanmayın)

SPF Nasıl Çalışır?

  1. Gönderici mail sunucusu, mail'i hedefe gönderir
  2. Alıcı mail sunucusu, Envelope From domain'inin SPF kaydını sorgular
  3. Gönderici IP'nin SPF'te olup olmadığını kontrol eder
  4. Eşleşme varsa "pass", yoksa "fail/softfail" sonucu üretilir
  5. Sonuç mail başlığına (Received-SPF) eklenir

Yaygın Mail Servisleri için SPF

  • Google Workspace: v=spf1 include:_spf.google.com ~all
  • Microsoft 365: v=spf1 include:spf.protection.outlook.com ~all
  • SendGrid: v=spf1 include:sendgrid.net ~all
  • Mailchimp: v=spf1 include:servers.mcsv.net ~all

SPF Sınırlamaları

  • SPF yalnızca Envelope From'u kontrol eder, görünen From başlığını değil
  • Mail yönlendirme (forwarding) SPF'i kırar — DKIM ile birlikte kullanım şart
  • En fazla 10 DNS lookup izni vardır (include, mx, a); aşılırsa PermError
  • SPF tek başına yeterli değildir — DMARC ile tamamlanmalıdır

En İyi Uygulamalar

  • Her domain için bir tek SPF kaydı tanımla
  • ~all (soft fail) yerine -all (hard fail) kullan, ancak tüm servisler dahil edildiyse
  • SendGrid, Mailchimp gibi üçüncü taraf servisleri include et
  • DKIM ve DMARC ile birlikte kur
  • mxtoolbox.com/spf.aspx ile doğrula

İlgili Terimler