A. Toplu ABNF
Önceki Epostada Alanların Kullanım Yetkilendirilmesi için Gönderici Politik Çerçevesi (SPF), 1. Sürüm Sonraki
A. Toplu ABNF
Bu bölüm uyulması zorunlu bölümlendendir ve önceki metindeki ABNF dizilimleri ile ilgili her çelişki bu dilbilgisinin yardımıyla çözümlenir.
ABNF gösterimi için [RFC4234]'e bakınız. Bu ABNF tanımına göre, dizgesel sabitlerin (tırnak içine alınmış olanlar) harf büyüklüğüne duyarsız oluşuna lütfen dikkat ediniz. Yani, "mx" ile "mx", "MX", "mX" ve "Mx" eşleşir.
   kayıt            = sürüm terimler *BOŞLUK
   sürüm            = "v=spf1"

   terimler         = *( 1*BOŞLUK ( yönerge / değiştirici ) )

   yönerge          = [ niteleyici ] mekanizma
   niteleyici       = "+" / "-" / "?" / "~"
   mekanizma        = ( tümü / dahili
                      / A / MX / PTR / IP4 / IP6 / exists )

   tümü             = "all"
   dahili           = "include"  ":" alan-belirtimi
   A                = "a"      [ ":" alan-belirtimi ] [ çifte-cidr-uzun ]
   MX               = "mx"     [ ":" alan-belirtimi ] [ çifte-cidr-uzun ]
   PTR              = "ptr"    [ ":" alan-belirtimi ]
   IP4              = "ip4"      ":" ip4-ağı   [ ip4-cidr-uzun ]
   IP6              = "ip6"      ":" ip6-ağı   [ ip6-cidr-uzun ]
   mevcut           = "exists"   ":" alan-belirtimi

   değiştirici      = sevket / izahat / bilinmeyen-değiştirici
   sevket           = "redirect" "=" alan-belirtimi
   izahat           = "exp" "=" alan-belirtimi
   bilinmeyen-değiştirici = isim "=" makro-dizgesi

   ip4-cidr-uzun    = "/" 1*RAKAM
   ip6-cidr-uzun    = "/" 1*RAKAM
   çifte-cidr-uzun  = [ ip4-cidr-uzun ] [ "/" ip6-cidr-uzun ]

   ip4-ağı          = dörtlü "." dörtlü "." dörtlü "." dörtlü
   dörtlü           = RAKAM                 ; 0-9
                      / %x31-39 RAKAM       ; 10-99
                      / "1" 2RAKAM          ; 100-199
                      / "2" %x30-34 RAKAM   ; 200-249
                      / "25" %x30-35        ; 250-255
                      ; bilinen noktalı dörtlü gösterim, 192.0.2.0 gibi
   ip6-ağı          = <[RFC3513], 2.2. bölüme göre>
                      ; örn, 2001:DB8::CD30

   alan-belirtimi   = makro-dizgesi alan-sonu
   alan-sonu        = ( "." tepeyafta [ "." ] ) / makro-genleş
   tepeyafta        = ( *harfrakam HARF *harfrakam ) /
                      ( 1*harfrakam "-" *( harfrakam / "-" ) harfrakam )
                      ; HRT kuralı artı ek TLD kısıtlamaları
                      ; (bkz, [RFC3696], 2. Bölüm)

   harfrakam        = HARF / RAKAM

   izahat-dizgesi   = *( makro-dizgesi / SP )

   makro-dizgesi    = *( makro-genleş / makro-sabiti )
   makro-genleş     = ( "%{" makro-harfi dönüştürücüler *ayraç "}" )
                      / "%%" / "%_" / "%-"
   makro-sabiti     = %x21-24 / %x26-7E
                      ; "%" hariç görünür karakterler
   makro-harfi      = "s" / "l" / "o" / "d" / "i" / "p" / "h" /
                      "c" / "r" / "t"
   dönüştürücüler   = *RAKAM [ "r" ]
   ayraç            = "." / "-" / "+" / "," / "/" / "_" / "="

   name             = HARF *( HARF / RAKAM / "-" / "_" / "." )

   başlık-alanı     = "Received-SPF:" [AKBOŞ] sonuç KBOŞ [açıklama KBOŞ]
                      [ anah-değer-list ] CRLF

   sonuç            = "Pass" / "Fail" / "SoftFail" / "Neutral" /
                      "None" / "TempError" / "PermError"

   anah-değer-list  = anah-değer-çifti *( ";" [AKBOŞ] anah-değer-çifti )
                      [";"]

   anah-değer-çifti = anahtar [AKBOŞ] "=" ( nokta-atom / tırnaklı-dizge )

   anahtar          = "client-ip" / "envelope-from" / "helo" /
                      "problem" / "receiver" / "identity" /
                       mekanizma / "x-" isim / isim

   kimlik           = "mailfrom"   ; "MAIL FROM" kimliği için
                      / "helo"     ; "HELO"kimliği için
                      / isim       ; diğer kimlikler

   nokta-atom       = <[RFC2822]'ye göre tırnaksız sözcük>
   tırnaklı-dizge   = <[RFC2822]'ye göre tırnaklı dizge>
   açıklama         = <[RFC2822]'ye göre açıklama dizgesi>
   AKBOŞ            = <[RFC2822]'ye göre açıklamalı katlama boşlukları>
   KBOŞ             = <[RFC2822]'ye göre katlama boşlukları>
   CRLF             = <[RFC2822]'ye göre standart satır sonu dizgeciği>
Önceki Üst Ana Başlık Sonraki
Kaynakça Başlangıç B. Çeşitli Örnekler
Bir Linux Kitaplığı Sayfası