SPF Kaydı Nedir?
SPF kaydı (Sender Policy Framework, RFC 7208), alan adınızda bulunan ve o alan adı adına e-posta göndermesine izin verilen sunucuları listeleyen bir TXT kaydıdır. Bir ileti geldiğinde alıcı sunucu, zarf göndericisinin (envelope sender) alan adının SPF kaydını sorgular (görünen Kimden (From) adresini değil, Return-Path adresini) ve gönderen IP'nin listede olup olmadığını kontrol eder.
Bir alan adının yalnızca bir SPF kaydı olabilir. v=spf1 ile başlayan iki kayıt, her SPF kontrolünün PermError ile başarısız olmasına yol açar; bu yüzden yeni bir servis eklediğinizde başka bir kayıt eklemek yerine mevcut kaydı düzenlersiniz. Şubat 2024'ten beri Gmail ve Yahoo her göndericiden SPF veya DKIM, toplu göndericilerden ise SPF, DKIM ve DMARC'ı birlikte kullanmasını bekliyor.

SPF Kaydı Nasıl Oluşturulur?
Posta kutusu sağlayıcınız, bülten ve işlemsel (transactional) e-posta servisleriniz, yardım masanız, CRM'iniz ve alan adınızdan e-posta gönderen her sunucu veya web sitesi. Birini unutmak, SPF'nin başarısız olmasının en yaygın nedenidir.
Yukarıdan her sağlayıcıyı seçin, diğer include alan adlarını ekleyin ve kendi sunucularınızı IPv4 veya IPv6 adresi olarak girin. mx'i yalnızca gelen posta sunucularınız aynı zamanda e-posta gönderiyorsa kullanın.
~all (soft fail, yumuşak başarısızlık) genellikle başlangıç seçimidir. Listenin eksiksiz olduğundan emin olduğunuzda -all (fail, başarısızlık) seçeneğine geçin. Sorgu sayacını takip edin: 10 veya altında kalmalıdır.
Mevcut v=spf1 kaydının yerine geçecek şekilde, host değeri @ (veya e-posta gönderen alt alan adı) olan bir TXT kaydı olarak ekleyin. Ardından SPF Kontrolü ile doğrulayın.
Advertisement
SPF Kaydı Sözdizimi
SPF kaydı, soldan sağa okunan terimlerden oluşan bir listedir. Gönderen IP ile eşleşen ilk terim sonucu belirler.
Sürüm etiketi. İlk terim olmalıdır; alıcılar TXT kaydını SPF olarak bununla tanır.
Başka bir alan adının SPF kaydındaki her şeyi yetkilendirir; örneğin include:_spf.google.com. O kaydın içindeki her sorgu da sizin limitinize sayılır.
Tek bir adresi veya bir CIDR aralığını yetkilendirir; örneğin ip4:203.0.113.10 veya ip6:2001:db8::/48. Hiç DNS sorgusu harcamazlar.
Alan adının A/AAAA kaydındaki veya MX sunucularındaki IP'leri yetkilendirir. Pratiktir ama her biri bir sorgu harcar; mx ise kendi içinde 10'a kadar ek sorgu yapabilir.
Diğer tüm sunuculara ne yapılacağı: yumuşak başarısızlık (soft fail), başarısızlık (fail) veya nötr (neutral). Herkesin alan adınız adına göndermesine izin veren +all'ı asla yayınlamayın.
redirect= tüm kontrolü başka bir alan adının kaydına devreder. exists: bazı büyük göndericiler tarafından makrolarla kullanılır. ptr yavaştır ve RFC 7208 onun yayınlanmamasını söyler.
~all mı -all mı: Soft Fail mi Fail mi?
-all, alıcılara listede olmayan herhangi bir sunucudan gelen e-postanın SPF'den geçemediğini (fail) söyler ve birçok alıcı bu e-postayı reddeder. ~all ise onu soft fail (yumuşak başarısızlık) olarak işaretler: alıcılar e-postayı yalnızca bu nedenle reddetmemeli, ancak şüpheli olarak değerlendirebilir. ?all nötrdür ve hiçbir koruma sağlamaz.
Google'ın Workspace talimatları ~all, Microsoft'un Microsoft 365 örneği ise -all kullanır. İkisi de çalışır. DMARC yayınladığınızda başarısız e-postaya ne olacağına DMARC politikası (p=quarantine veya p=reject) karar verir; bu yüzden birçok alan adı, meşru yönlendirilmiş e-postaları reddetmemek için ~all kullanmaya devam eder ve uygulamayı DMARC'a bırakır. Alan adı hiç e-posta göndermiyorsa v=spf1 -all yayınlayın.
Advertisement
SPF Kaydı Örnekleri
Kurulumunuza en yakın olanı kopyalayın veya yukarıdaki oluşturucuyla kendinizinkini oluşturun. Her biri alan adınızdaki tek bir TXT kaydıdır.
v=spf1 include:_spf.google.com ~allv=spf1 include:spf.protection.outlook.com -allv=spf1 ip4:203.0.113.10 include:_spf.google.com include:mailgun.org ~allv=spf1 include:zohomail.com ~allv=spf1 mx ip4:198.51.100.0/24 ip6:2001:db8::/48 -allv=spf1 -all10 DNS Sorgusu Limiti
RFC 7208, bir SPF kontrolünü 10 DNS sorgusu ile sınırlar. Her include, a, mx, ptr, exists ve redirect bir sorgu harcar; eklediğiniz kayıtların içindekilerin her biri de öyle. ip4, ip6 ve all sorgu harcamaz. 11. sorguya ihtiyaç duyan bir kontrol PermError ile durur ve bu, DMARC açısından SPF başarısızlığı sayılır. Alıcılar ayrıca en fazla 2 boş sorguya (void lookup: var olmayan veya hiç kayıt döndürmeyen adlar) izin vermelidir.
Sağlayıcıların maliyeti aynı değildir. Her include'u, iç içe sorgular dahil, 5 Ekim 2026'da saydık:
_spf.google.com ve spf.protection.outlook.com IP aralıklarını doğrudan listeler. Amazon SES, Brevo, Mailjet, Zendesk ve Fastmail de 1 sorgu harcar.
Her biri kendine ait bir kayda daha yönlendirir.
Hosting posta kutuları genellikle birkaç include'u zincirler.
Bunlardan biri ve birkaç başka servis, tüm bütçeyi tüketebilir.
Advertisement
Çok Fazla Sorgu Yapan SPF Kaydı Nasıl Düzeltilir?
Artık kullanmadığınız servisleri kaldırın. Eski bülten araçları ve deneme hesapları genellikle sorunun kaynağıdır.
Kendi sunucularınızın sabit adresleri varsa `a` ve `mx` yerine `ip4`/`ip6` kullanın.
Toplu e-postayı bir alt alan adına taşıyın; örneğin kendi SPF kaydı ve kendi 10 sorgusu olan news.example.com.
Bir servisin gerçekten include gerektirip gerektirmediğini kontrol edin. Birçok gönderici kendi bounce alan adını kullanır; böylece SPF onların alan adında geçer ve DMARC hizalaması DKIM'den gelir.
SPF düzleştirmeye (flattening) dikkat edin. include'ları kopyalanmış IP listeleriyle değiştirmek, bir sağlayıcı IP'lerini değiştirene kadar çalışır; sonra e-postalar hiçbir uyarı olmadan başarısız olmaya başlar.
Yaygın SPF Hataları
Aynı alan adında iki SPF kaydı, örneğin her sağlayıcı için bir tane. Bunları tek kayıtta birleştirin.
Tüm interneti yetkilendiren
+allkullanmak.Kaydı yanlış ada yayınlamak. SPF, zarf göndericisinin alan adında kontrol edilir ve alt alan adları onu devralmaz.
all'dan sonra mekanizma eklemek. Alıcılar bunları hiç değerlendirmez, yani o göndericiler yetkilendirilmiş olmaz.Bir göndericiyi unutmak; örneğin iletişim formu e-postalarını gönderen web sunucusu.
Eski SPF kayıt türünü (tür 99) kullanmak. RFC 7208 bunu kullanımdan kaldırdı: yalnızca TXT yayınlayın.
Advertisement
SPF, DKIM ve DMARC Birlikte Çalışır
SPF tek başına, okuyucularınızın gördüğü Kimden (From) adresinin taklit edilmesini engellemez. DKIM her iletiyi imzalar; DMARC ise ikisini görünen From alan adına bağlar ve başarısız olduklarında alıcılara ne yapacaklarını söyler. Üçünü de kurun:
Yayınlanan kaydı, iç içe include'larını ve sorgu sayısını doğrulayın.
Bir DKIM anahtar çifti ve selector._domainkey TXT kaydı oluşturun.
Raporlama adresleriyle bir DMARC politikası oluşturun.
Gerçek bir iletideki SPF, DKIM ve DMARC sonuçlarını okuyun.