Met een SPF (Sender Policy Framework) record kan je aangeven vanaf welke IP adressen mail mag worden verstuurd voor jouw domein.. Het SPF record is eigenlijk gewoon een TXT-record  met een bepaalde structuur. 


Voor een domein gehost bij Savvii kan deze er bijvoorbeeld als volgt uitzien:


v=spf1 include:sites.savviihq.com mx ~all


Wat dit inhoudelijk betekent:

  • v=spf1 is een indicatie van de SPF versie die gebruikt word, dit is tegenwoordig nog steeds in alle gevallen spf1
  • mx geeft aan dat als een domein MX records heeft en één van die records wijst naar de verzendende server, dan mag de mail worden toegelaten
  • include:sites.savviihq.com verwijst door naar het SPF TXT record sites.savviihq.com en neemt alle regels daar uit over
  • ~all geeft een soft-fail op de berichten. In de meeste mailservers zorgt dit er voor dat de mail niet geweigerd word maar wel gemarkeerd word als spam of ander zins 'verdacht'


include, mx en all zijn zogenoemde 'Mechanisms', hier is een volledige lijst van relevante mechanisms:


ALLALL is altijd gelijk aan alles, over het algemeen wordt deze, net zoals in het voorbeeld enkel gebruikt als 'eindregel' als niets anders afgevangen word door de andere regels
AA matcht het adres van de afzender met het A record voor het domein, dit kan zowel A als AAAA zijn
IP4ip4:192.0.2.234 matcht als de afzender het aangegeven IP adres heeft, dit kan ook een range zijn met CIDR notatie (bijvoorbeeld ip4:192.0.2.0/24)
IP6ip6:2001:db8::1 matcht als de afzender het aangegeven IP adres heeft, dit kan ook een range zijn met CIDR notatie (bijvoorbeeld ip6:2001:db8::/32)
MXMX matcht het adres van de afzender met de MX records voor het domein.
INCLUDEinclude:sites.savviihq.com refereert naar een andere SPF TXT record. Als het gerefereerde SPF record faalt gaat de mailserver gewoon door met het afwerken van het SPF record van het domein zelf.


Elk mechanisme kan gecombineerd worden met een 'qualifier' met een qualifier geef je aan wat er met het mechanisme moet gebeuren als deze matcht


+Als je een mechanism met een + aanmerkt dan is het resultaat een PASS, SPF gaat standaard er van uit dat de records die je toevoegt een PASS moeten krijgen dus je mag de + weglaten
?Geeft een NEUTRAL resultaat, dit betekent dat er niets bijzonders gedaan hoeft te worden en op basis van het record de mail niet geaccepteerd of geweigerd wordt.
~Geeft een SOFTFAIL resultaat, de meeste mailservers zullen de mail dan wel accepteren maar dan in bijvoorbeeld de ongewenste mail plaatsen
-Geeft een FAIL resultaat, de meeste mailservers zullen de mail weigeren. Dus als je bijvoorbeeld -all gebruikt als laatste mechanism zal alle mail die niet door de eerdere regels is gePASSed worden geweigerd.


Optimalisaties (geavanceerd).

Als je een VPS bij ons afneemt staat je server standaard ingesteld om via mailchannels uit te mailen. Je kan 1 DNS lookup besparen door direct een include te doen naar mailchannels in plaats van een include naar sites.savviihq.com. Je record zal er dan zo uit komen te zien:

v=spf1 include:relay.mailchannels.net ~all
HTML

Let op: als je deze optimalisaties doorvoert loop je het risico een achterhaald record te hebben mochten wij in de toekomst een ander spamfilter gaan gebruiken. Met een include op sites.savviihq.com loop je dit risico niet, maar verbruik je wel een extra include. De huidige spelregels voor DNS beperken het totaal aantal lookups tot 10.