SPF (Sender Policy Framework), alan adınız adına hangi sunucuların e-posta gönderebileceğini DNS'te ilan ettiğiniz bir TXT kaydıdır. Alıcı sunucu, gelen mailin gönderildiği IP adresini bu listeyle karşılaştırır. Kayıt yoksa ya da IP listede değilse mail spam'e düşebilir veya reddedilebilir. Standart RFC 7208 (SPF) ile tanımlanır.

SPF Nasıl Çalışır?

SPF Nasıl Çalışır? Sunucunuz bir maili gönderirken zarf göndericisini (Return-Path) belirtir, ör..., Alıcı sunucu, alanadiniz.com için DNS'te "v=spf1" ile başlayan TXT kaydını...
  • Sunucunuz bir maili gönderirken zarf göndericisini (Return-Path) belirtir, ör. bounce@alanadiniz.com.
  • Alıcı sunucu, alanadiniz.com için DNS'te "v=spf1" ile başlayan TXT kaydını sorgular.
  • Bağlanan IP kayıttaki mekanizmalardan biriyle eşleşirse sonuç pass olur; eşleşmezse kaydın sonundaki all ifadesi sonucu belirler.

SPF Kaydının Yapısı

text
alanadiniz.com.  IN  TXT  "v=spf1 a mx ip4:203.0.113.10 include:_spf.google.com ~all"
ParçaAnlamıDNS sorgusu sayılır mı?
v=spf1Kaydın SPF olduğunu belirtir; başta olmak zorunda-
ip4: / ip6:Belirtilen IP adresi veya aralığıHayır
aAlan adının A/AAAA kaydındaki IPEvet
mxAlan adının MX sunucularının IP'leriEvet
include:Başka bir alan adının SPF kaydını dahil eder (ör. e-posta servisi)Evet
exists:Belirtilen adın var olup olmadığına bakarEvet
redirect=Politikayı tamamen başka bir alan adının kaydına bırakırEvet
ptrTers DNS ile eşleştirme; RFC 7208'e göre yayımlanmamalıEvet
allYukarıdakilerle eşleşmeyen her şeyHayır

~all mı -all mı?

İfadeSonuçAnlamı
-allfailListede olmayan sunucular kesinlikle yetkili değil
~allsoftfailListede olmayanlar muhtemelen yetkili değil
?allneutralHiçbir şey söylenmiyor
+allpassHerkes yetkili; asla kullanmayın

RFC 7208, softfail sonucunun tek başına ret sebebi yapılmamasını önerir. DMARC kullanıyorsanız asıl kararı DMARC politikası verir, bu yüzden ~all yaygın ve güvenli bir seçimdir. Tüm gönderim kaynaklarınızı listelediğinizden eminseniz -all kullanabilirsiniz.

Hazır SPF Örnekleri

Hazır SPF Örnekleri: Yalnızca hosting sunucusu (cPanel), Google Workspace, Microsoft 365, Hosting + Google Workspace

Kullandığınız servise göre örnekler (IP ve include değerlerini kendi sağlayıcınızın belgesinden doğrulayın):

SenaryoÖrnek kayıt
Yalnızca hosting sunucusu (cPanel)v=spf1 a mx ip4:SUNUCU_IP ~all
Google Workspacev=spf1 include:_spf.google.com ~all
Microsoft 365v=spf1 include:spf.protection.outlook.com ~all
Hosting + Google Workspacev=spf1 a mx include:_spf.google.com ~all
Hiç mail göndermeyen alan adıv=spf1 -all

En Sık Yapılan SPF Hataları

1. Birden fazla SPF kaydı

RFC 7208'e göre bir alan adının birden fazla SPF kaydı olamaz; iki "v=spf1" kaydı varsa sonuç permerror olur ve SPF tamamen işlemez. Yeni bir servis eklerken ikinci kayıt açmayın, mevcut kayda include ekleyin.

text
# Yanlış: iki ayrı kayıt
"v=spf1 a mx ~all"
"v=spf1 include:_spf.google.com ~all"

# Doğru: tek kayıtta birleştirilmiş
"v=spf1 a mx include:_spf.google.com ~all"

2. 10 DNS sorgusu sınırını aşmak

SPF değerlendirmesi sırasında include, a, mx, ptr, exists ve redirect toplamda en fazla 10 DNS sorgusu yapabilir. Her include, içindeki include'larla birlikte sayılır. Sınır aşılırsa sonuç permerror olur. Ayrıca sonuç dönmeyen ("void") sorguların 2 ile sınırlı tutulması gerekir. ip4 ve ip6 sorgu yapmadığı için sayılmaz.

  • Artık kullanmadığınız servislerin include'larını silin.
  • Sabit IP'li sunucular için a veya mx yerine doğrudan ip4 yazın.
  • Pazarlama maillerini ayrı bir alt alan adından (ör. bulten.alanadiniz.com) göndererek ana alan adının kaydını sade tutun.

3. Uzun kayıtlar

Tek bir DNS metin parçası 255 karakteri geçemez. Uzun SPF kayıtları birden fazla tırnaklı parçaya bölünür; alıcı bunları boşluk eklemeden birleştirir. Çoğu DNS paneli bunu otomatik yapar; elle bölüyorsanız boşluğu parçalardan birinin içinde bırakın.

4. Unutulan gönderim kaynakları

Web sitesi formu, fatura programı, CRM ya da bülten servisi sizin alan adınızla mail gönderiyorsa SPF kaydında olmalıdır. DMARC raporları hangi kaynağın unutulduğunu açıkça gösterir.

SPF Kaydı Nasıl Eklenir?

  • Alan adınızın DNS'ini yöneten paneli açın (hosting paneli, alan adı firması ya da Cloudflare gibi bir DNS servisi).
  • Var olan bir "v=spf1" kaydı olup olmadığını kontrol edin; varsa düzenleyin, yoksa yeni TXT kaydı oluşturun.
  • Ad (host) alanına @ ya da alan adınızı, değer alanına SPF kaydını yazın.
  • Kaydedin ve TTL süresi kadar bekleyin. DNS yayılma süresi yazısı bekleme süresini açıklar.
  • Kendinize Gmail'e bir test maili atıp "Orijinali göster" ekranında SPF: PASS sonucunu görün.
bash
dig +short TXT alanadiniz.com
nslookup -type=TXT alanadiniz.com

TXT kaydının genel kullanımı için DNS kayıt türleri yazısına bakabilirsiniz.

Sık Sorulan Sorular

SPF tek başına yeterli mi?

Hayır. Mail yönlendirildiğinde SPF genelde bozulur ve SPF ekranda görünen From adresini korumaz. Google, toplu göndericilerden SPF, DKIM ve DMARC'ın üçünü birden ister (Google e-posta gönderici yönergeleri).

Alt alan adları için ayrı SPF gerekir mi?

Evet. SPF kaydı yalnızca yayımlandığı ad için geçerlidir; bulten.alanadiniz.com'dan gönderim yapıyorsanız o alt alan adına da kayıt ekleyin.

İlgili içerikler: Mailler neden spam'e düşer · SPF kaydı · DKIM · DMARC · Toplu gönderici kuralları · Kara liste kontrolü