SPF kaydı (Sender Policy Framework), alan adınız adına hangi sunucuların e-posta gönderebileceğini dünyaya söyleyen bir DNS TXT kaydıdır. Alıcı sunucu, info@alanadiniz.com adresinden gelen bir e-postayı aldığında alan adınızın SPF kaydına bakar ve postayı gönderen sunucu listede yoksa e-postayı şüpheli sayar. SPF kaydı olmayan ya da hatalı yazılmış alan adlarının e-postaları spam klasörüne düşer, bazen hiç teslim edilmez.
Bu rehberde SPF kaydının nasıl okunduğunu, kendi kaydınızı nasıl oluşturacağınızı ve en sık yapılan hataları anlatıyoruz.
SPF kaydı neye benzer?
Tipik bir SPF kaydı şöyledir:
v=spf1 include:_spf.google.com include:spf.protection.outlook.com ip4:203.0.113.10 ~all
Kayıt soldan sağa okunur:
| Parça | Anlamı |
|---|---|
v=spf1 | Bu bir SPF kaydıdır. Her SPF kaydı bununla başlamak zorundadır. |
include:_spf.google.com | Google Workspace'in gönderim sunucularına izin ver. |
include:spf.protection.outlook.com | Microsoft 365 sunucularına izin ver. |
ip4:203.0.113.10 | Bu IP adresinden gönderime izin ver (örneğin web sunucunuz). |
~all | Listede olmayan her sunucu "şüpheli" sayılsın (softfail). |
Kayıt DNS'te alan adının kendisine, yani @ adına TXT türünde eklenir. spf ya da _spf gibi ayrı bir ada eklenmiş kayıt işe yaramaz.
SPF kaydı nasıl oluşturulur?
- Gönderim kaynaklarınızı listeleyin. Alan adınız adına e-posta gönderen her şeyi yazın: kurumsal e-posta servisi (Google Workspace, Microsoft 365, Yandex, hosting firmasının posta sunucusu), web sitenizin iletişim formu, e-bülten servisi, fatura ya da CRM yazılımı.
- Her kaynağın SPF değerini bulun. Servisler bunu yardım sayfalarında "SPF kaydı" başlığıyla verir; genellikle bir
include:ifadesidir. Kendi sunucunuz içinip4:ile IP adresini yazarsınız. - Hepsini tek kayıtta birleştirin.
v=spf1ile başlayın, kaynakları boşlukla ayırarak ekleyin ve sona~allkoyun. - DNS'e TXT kaydı olarak ekleyin. Alan adının DNS yönetim panelinde ad olarak
@(ya da boş), tür olarak TXT seçip değeri yapıştırın. - Kontrol edin. Kayıt göründükten sonra komut satırından doğrulayın:
dig alanadiniz.com TXT +short | grep spf1
Windows'ta aynı işi nslookup -type=TXT alanadiniz.com yapar. Komut satırı kullanmak istemiyorsanız ücretsiz DNS kayıtları aracımızla SPF kaydınızı Türkçe açıklamasıyla görebilirsiniz.
~all mı, -all mı?
Kaydın sonundaki ifade, listede olmayan sunuculara ne olacağını belirler:
~all(softfail): Listede olmayan sunucudan gelen posta şüpheli işaretlenir, genellikle spam'e düşer ama reddedilmez. Başlangıç için en güvenli seçimdir.-all(hardfail): Listede olmayan sunucudan gelen posta reddedilebilir. Bütün gönderim kaynaklarınızı eksiksiz listelediğinizden eminseniz kullanın.?all(neutral): Hiçbir şey söylemez; SPF'in koruma değerini neredeyse sıfırlar.+all: Dünyadaki her sunucuya sizin adınıza posta gönderme izni verir. Asla kullanmayın.
Asıl sertliği bugün çoğunlukla DMARC belirler. SPF'i ~all ile bırakıp politikayı DMARC ile sıkılaştırmak yaygın ve sağlıklı bir yaklaşımdır. Ayrıntılar için DMARC nasıl kurulur rehberine bakın.
En sık yapılan SPF hataları
Birden fazla SPF kaydı
Bir alan adında yalnız bir SPF kaydı olabilir. Yeni bir e-posta servisine geçerken eskisini silmeden ikinci bir v=spf1 kaydı eklemek çok yaygın bir hatadır. İki kayıt olduğunda alıcı sunucular SPF'i "kalıcı hata" (permerror) sayar; yani SPF hiç yokmuş gibi davranır. Çözüm, iki kaydın içeriğini tek kayıtta birleştirmektir.
10 DNS sorgusu sınırı
SPF, kaydı değerlendirirken en fazla 10 DNS sorgusu yapılmasına izin verir. Her include:, a, mx, exists ve redirect bir sorgu sayılır ve include edilen kayıtların içindeki sorgular da toplama eklenir. Çok sayıda servis ekledikçe bu sınır aşılır ve SPF yine permerror verir. Kullanmadığınız servislerin include ifadelerini temizleyin; mümkünse sabit IP'li kaynakları ip4: ile yazın.
Yanlış ada eklenmiş kayıt
SPF kaydı www.alanadiniz.com ya da mail.alanadiniz.com gibi bir alt ada değil, e-posta adresinde @ işaretinden sonra gelen alan adının kendisine eklenmelidir.
Eski SPF türü (DNS türü "SPF")
Bazı eski panellerde "SPF" adında ayrı bir kayıt türü bulunur. Bu tür artık kullanılmıyor; SPF kaydı her zaman TXT türünde olmalıdır.
Web sitesi formunu unutmak
İletişim formunuz sitenizin sunucusundan info@alanadiniz.com adresiyle posta gönderiyorsa o sunucunun IP'si de SPF'te olmalıdır. Aksi hâlde form bildirimleri spam'e düşer ve müşteri mesajlarını kaçırırsınız.
SPF tek başına yeterli mi?
Hayır. SPF yalnızca postayı gönderen sunucunun yetkili olup olmadığına bakar; e-posta yönlendirildiğinde (forward) genellikle bozulur. Güçlü bir e-posta kimliği için üç kayıt birlikte çalışır:
- SPF: Hangi sunucular gönderebilir?
- DKIM: Posta yolda değiştirilmeden geldi mi? (kriptografik imza)
- DMARC: SPF ya da DKIM başarısızsa ne yapılsın ve raporlar nereye gitsin?
E-postalarınız hiç ulaşmıyorsa sorun yalnız SPF'te olmayabilir; MX kayıtlarından posta kutusu kotasına kadar diğer nedenleri kurumsal e-posta çalışmıyor yazısında adım adım anlattık. Bütün DNS kayıt türlerinin ne işe yaradığını da DNS kayıtları rehberinde bulabilirsiniz.
SPF kaydınızı kurduktan sonra
SPF kaydı en çok sonradan bozulur: hosting firması değişir ve yeni panel kayıtları sıfırlar, biri yeni bir servis eklerken ikinci bir SPF kaydı oluşturur ya da DNS sağlayıcısı değişirken kayıt taşınmaz. Bunu genellikle müşteriler "mailiniz gelmedi" dediğinde fark edersiniz.
domainizle.tr, alan adlarınızın MX, SPF ve DMARC kayıtlarını ücretsiz olarak düzenli kontrol eder. Birden fazla SPF kaydı varsa ya da kayıt kaybolursa bunu Mail izleme ekranında gösterir ve size haber verir.
Sık sorulan sorular
SPF kaydı olmadan e-posta gönderebilir miyim?
Gönderebilirsiniz, ama büyük e-posta sağlayıcıları SPF ve DMARC kaydı olmayan alan adlarından gelen postalara giderek daha az güveniyor. Postalarınızın spam'e düşme olasılığı belirgin biçimde artar.
SPF kaydının etkinleşmesi ne kadar sürer?
Kayıt çoğunlukla dakikalar içinde görünür, ancak DNS önbellekleri nedeniyle her yerde görünmesi daha uzun sürebilir. Bu bekleme süresinin nedenlerini DNS yayılması yazısında anlattık.
Alt alan adları için ayrı SPF kaydı gerekir mi?
Evet. SPF, DMARC'tan farklı olarak alt alan adlarına kendiliğinden uygulanmaz. bulten.alanadiniz.com gibi bir alt adla posta gönderiyorsanız o ada da ayrı bir SPF kaydı eklemelisiniz.
include ile redirect arasındaki fark nedir?
include: başka bir kaydın izin verdiği sunucuları sizin listenize ekler; kaydınızda başka ifadeler de olabilir. redirect= ise değerlendirmeyi tamamen başka bir alan adının SPF kaydına devreder. Ortak bir SPF kaydını birden fazla alan adında kullanmak istiyorsanız redirect işe yarar.
SPF kaydınızın sessizce bozulmasını müşteri şikâyetinden öğrenmeyin. Ücretsiz hesap oluşturun, alan adınızı ekleyin ve e-posta kayıtlarınızdaki değişikliklerden haberdar olun.
Bunu her ay elle kontrol etmeyin
domainizle.tr domain ve SSL bitiş tarihlerini kendiliğinden okur, sitenizin açık olup olmadığını düzenli yoklar; süre dolmadan önce kademeli olarak ve site kapandığında haber verir. Kurulum ya da sunucu erişimi gerekmez.
Ücretsiz hesap oluştur Nasıl çalışır