Wat doet SPF?

SPF zegt welke IP’s mail mogen versturen namens het envelope-domein (MAIL FROM). Het controleert niet het From-adres dat de ontvanger ziet.

SPF staat voor Sender Policy Framework. In een TXT-record op het envelope-domein (MAIL FROM / Return-Path) zet je welke IP-adressen mail mogen versturen namens dat domein. De ontvangende server vergelijkt het IP van de binnenkomende verbinding met die lijst.

SPF kijkt naar de envelope-afzender (MAIL FROM / Return-Path, in rapporten envelope_from), niet naar het From-adres dat de gebruiker ziet (header_from). Daarom is SPF alleen niet genoeg voor DMARC: de envelope moet ook bij het From-domein horen (alignment). Uitleg van die twee adressen: envelope_from en header_from.

Hoe een SPF-check verloopt

  1. Iemand stuurt mail. De verzendende server opent een SMTP-verbinding vanaf een bepaald IP.
  2. Die server zegt: dit bericht is van bounces@julliedomein.nl (MAIL FROM).
  3. De ontvanger haalt het SPF-record van julliedomein.nl op.
  4. Staat dit IP in de lijst? Dan is SPF pass. Zo niet, dan fail, softfail of een fout, afhankelijk van het record.

Het record

SPF is één TXT die begint met v=spf1. Daarna volgen mechanismes, en tot slot wat er moet gebeuren als niets matcht:

v=spf1 include:spf.protection.outlook.com include:_spf.google.com ip4:203.0.113.10 -all
  • ip4: / ip6: — een adres of range mag versturen.
  • include: — haal het SPF van een andere host op (Microsoft, Google, een ESP).
  • a / mx — IP’s van het A- of MX-record van het domein.
  • -all — niets anders mag (fail). ~all is een zachte fail; ?all is neutraal. Voor DMARC-handhaving wil je uiteindelijk -all.

De limiet van tien DNS-lookups

Elke include, a, mx, ptr, exists of redirect telt als een DNS-lookup. De standaard staat maximaal tien van die lookups per check toe. Elke extra include van een leverancier eet daarvan. Boven de limiet behandelen ontvangers het record als permerror: SPF is dan ongeldig, ook voor jullie eigen mail.

Veel organisaties lopen hier tegenaan: Microsoft + Google + een nieuwsbrief + een CRM is al snel te veel. Managed SPF lost dat op door includes eenmalig uit te vouwen tot IP-ranges, zodat het live record binnen de limiet blijft.

Waarom doorgestuurde mail SPF laat falen

Wordt een bericht doorgestuurd (forwarding, sommige mailinglijsten), dan komt het vanaf het IP van de doorstuurder. Dat IP staat niet in jullie SPF. SPF faalt dan, ook al was het oorspronkelijke bericht legitiem. Daarom is een geldige, aligned DKIM-handtekening zo belangrijk: die reist met het bericht mee en kan DMARC alsnog laten slagen.

SPF in dmarcs

In de portal zie je het gepubliceerde record, het volume per mechanisme (uit de aggregaatrapporten) en of je tegen de lookuplimiet zit. Onder SPF Beheer bouw je het record zelf, of je schakelt Managed SPF in. Zie Hoe Managed SPF werkt.