izahat = "exp" "=" alan-belirtimi
Eğer tüm mekanizmaların eşleşmemesinin sonucu olarak check_host() işlevi "Fail" sonucunu verirse ve bir "exp" değiştiricisi de mevcutsa izahat-dizgesi aşağıda açıklandığı gibi hesaplanır. Eğer bir "exp" değiştiricisi de mevcut değilse ya öntanımlı bir izahat-dizgesi ya da boş bir izahat-dizgesi dönebilir.
<alan-belirtimi> Makrolar bölümündeki makro kurallarına göre yorumlanır ve
<hedef-ismi> haline gelir.
<hedef-ismi> için DNS
TXT kaydı sorgulanır.
<alan-belirtimi> boşsa veya bir DNS hatası dönmüşse (0'dan farklı bir RCODE) ya da hiç kayıt dönmemişse, ya da birden fazla kayıt dönmüşse veya izahat-dizgesi nde bir sözdizimi hatası varsa, hiç "exp" değiştiricisi verilmemiş gibi işlem yapılır.
Alınan TXT kayıtlarındaki dizgeler aralarına boşluk konmaksızın ardarda eklenir ve makro yorumlamalı bir
<izahat-dizgesi> olarak ele alınır. Gerçeklenimler
<izahat-dizgesi>nin sonuç uzunluğunu makul işlem sınırları veya diğer protokol kısıtlamalarına izin vermek için sınırlayabilirler.
<izahat-dizgesi> bir SMTP yanıtı olarak tasarlandığından ve [
RFC2821]'in
Sözdizimsel Genel Prensipler ve Harekât Modeli bölümü yanıtların [
US-ASCII] olmasını gerektirdiğinden,
<izahat-dizgesi> de US-ASCII kodlanmış olmalıdır.
check_host() işlevini değerlendiren yazılım, bu dizgeyi, yayınlayan alandaki bilgiyi bir kısa ileti veya bir URL biçiminde iletmek için kullanabilir. Yazılım bu dizgenin üçüncü şahıslardan kaynaklandığını açıklığa kavuşturmalıdır *ÖNERİ*. Örneğin, dizgenin başına
Fail bölümünde gösterildiği gibi "
%{o} explains: " makro dizgesini ekleyebilir.
example.com'un şöyle bir kaydı olsun:
v=spf1 mx -all exp=explain._spf.%{d}
Aşağıda explain._spf.example.com'da <izahat-dizgesi> olarak kullanılabilecek olası TXT kayıtları örneklerine yer verilmiştir:
"Mail from example.com should only be sent by its own servers."
-- basit ve sabit bir ileti
"%{i} is not one of %{d}'s designated mail servers."
-- sınaması başarısız olan IP adresini içererek biraz daha bilgi
veren bir ileti
"See http://%{d}/why.html?s=%{S}&i=%{I}"
-- check_host() işlevine argümanlar içeren bir URL'den oluşan
biraz daha karmaşık bir ileti; böylece daha ayrıntılı ve
özel talimatlar içeren bir sayfa hazırlanabilir
| Not |
---|
Bir "include" mekanizmasına yineleme sırasında, <hedef-ismi>'ndeki bir "exp" değiştiricisi kullanılmamalıdır *ZORUNLU*. Aksine, bir "redirect" değiştiricisi değerlendirilirken özgün alandaki bir "exp" değiştiricisi kullanılmamalıdır *ZORUNLU*.
|