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?

- 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ı
alanadiniz.com. IN TXT "v=spf1 a mx ip4:203.0.113.10 include:_spf.google.com ~all"| Parça | Anlamı | DNS sorgusu sayılır mı? |
|---|---|---|
| v=spf1 | Kaydın SPF olduğunu belirtir; başta olmak zorunda | - |
| ip4: / ip6: | Belirtilen IP adresi veya aralığı | Hayır |
| a | Alan adının A/AAAA kaydındaki IP | Evet |
| mx | Alan adının MX sunucularının IP'leri | Evet |
| 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 bakar | Evet |
| redirect= | Politikayı tamamen başka bir alan adının kaydına bırakır | Evet |
| ptr | Ters DNS ile eşleştirme; RFC 7208'e göre yayımlanmamalı | Evet |
| all | Yukarıdakilerle eşleşmeyen her şey | Hayır |
~all mı -all mı?
| İfade | Sonuç | Anlamı |
|---|---|---|
| -all | fail | Listede olmayan sunucular kesinlikle yetkili değil |
| ~all | softfail | Listede olmayanlar muhtemelen yetkili değil |
| ?all | neutral | Hiçbir şey söylenmiyor |
| +all | pass | Herkes 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

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 Workspace | v=spf1 include:_spf.google.com ~all |
| Microsoft 365 | v=spf1 include:spf.protection.outlook.com ~all |
| Hosting + Google Workspace | v=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.
# 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.
dig +short TXT alanadiniz.com
nslookup -type=TXT alanadiniz.comTXT 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ü