SPF kaydı nedir?

SPF Kayıtları ile Domain adresiniz adına kimin mail gönderebileceğini veya gönderemeyeceğini tanımlarsınız.

SPF kaydı tanımlı olmadığında veya mail sunucunuz SPF kaydında tanımlı değilse gönderdiğiniz mailler istenmeyen posta(spam) olarak algılanabilir.

test.com üzerinden ornek.com’a bir mail gönderidiğinizde, ornek.com tarafında maili karşılayan mail sunucusu test.com’un SPF kaydını sorgular ve SPF testini uygular. Test’ten geçebilmemiz için SPF kaydımızda test.com tarafından maili gönderen sunucumuzun IP’si veya karşılık gelen bir DNS bilgisi “test.com’un SPF kaydında” bulunması gerekir.

Yani;

test.com’un SPF kaydını sorgularsanız(nslookup -q=TXT test.com);

v=spf1 ip4:5.2.80.80 mx -all

Bu SPF kaydını yorumlayacak mail sunucusu şöyle düşünür;

  • +ip4:5.2.80.80: 5.2.80.80 ipv4 adresli sunucu bu domain adına mail gönderebilir.
  • +mx: test.com domaininde MX olarak kayıtlı sunucu IP adresleri bu domain adına mail gönderebilir.
  • -all: test.com için diğer tüm sunucular ve ip’lerden gelen mailler reddedilir.

Not: başlangıcında herhangi bir eşleşme işareti bulunmayan bilgiler default olarak +(Pass) olarak yorumlanır. Yani kayıtta bulunan “mx” aslında “+mx” şeklindedir.

Nasıl SPF kaydı oluştururum?

SPF kayıtları DNS sunucunuzda TXT kaydı olarak tutulur. SPF kayıtlarında 4 adet eşleşme mekanizması vardır. Oldukça basitler.

Değer Açıklama
+ Geçiş izni veren değer. Eğer değerlerin yanında herhangi bir değer yoksa bu tanımlıdır. Örn. mx = +mx
Başarısız. Bu değer ile eşleşen sunuculardan kesinlikle mail kabul edilmez.
~ Şüpheli mail. Eğer sunucu bu değer ile eşleşirse SPF kaydı yok gibi karşılık görür.
? Nötr değer. Eşleşen sunucunun gönderdiği mail kabul edilir.

Örnekler ile ilerleyelim. Örnekleri test.com için yazıyorum.

v=spf1 mx include:ornek.com -all

+mx: test.com domaini için tanımlı MX sunucuları bu test.com adına mail gönderebilir.

+include:ornek.com: “ornek.com” için tanımlı SPF testini çalıştırır.

-all: Diğer sunucular bu domain adına mail gönderemez.

v=spf1 a -all
  • a: Domain’in A kaydında bulunan sunucular mail gönderebilir. Örneğin: nslookup -q=A test.com.
  • -all: Diğer sunucular bu domain adına mail gönderemez.

v=spf1 a:ornek.com -all

Yukarıdaki örnekten farkı Testi geçebilecek A kaydı test.com’un A kayıdı değil “ornek.com” un A kaydıdır.

v=spf1 a/27 -all

veya

v=spf1 mx/27 -all

veya

v=spf1 5.8.80.80/27 -all

veya

v=spf1 a:ornek.com/27 -all

SPF testine yukarıda gördüğünüz gibi CDR tipi kayıt tanımlayabilirsiniz. inceleyelim;

a/27: test.com’un A kayıdında sadece 5.2.80.80 var. Bu kayıtta sadece bir IP değil CIDR şeklinde IP aralığı veriliyor. 5.2.80.80/27 olarak yorumlanınca 5.2.80.64 ve 5.2.80.95 arası tüm IP’lerin domain adına mail gönderebileceğini belirtir.

-all: Diğer sunucular bu domain adına mail gönderemez.

v=spf1 mx:ornek.com +all

mx:ornek.com: ornek.com domaininin mx sunucularının test.com adına mail gönderebileceğini tanımlar.

v=spf1 ip4:78.65.87.45 -all

veya

v=spf1 ip4:78.65.87.45/27 -all

ip4:78.65.87.45: ipv4 adresli 78.65.87.45 test.com adına mail gönderebilir.

v=spf1 -all

-all: test.com adıyla mail gönderilemez.

v=spf1 +all

+all: tum sunucular test.com adına mail gönderebilir. Güvenli değildir.
Bu örnekler arasında benim tavsiye ettiğim SPF kaydı şöyle.

v=spf1 mx -all

Bu kayıt ile sadece domain adına kayıtlı MX sunucuları mail gönderebilir. Diğer tüm sunucular reddedilir.

Yazar

Bir Cevap Yazın