SPF og videresendelse af email

SPF eller Sender Policy Framework er en teknologi der gør det muligt for ejeren af et domæne at definere præcis hvilke mailservere der har lov til at sende emails på vegne af domænet. Dette kan imidlertid have utilsigtede konsekvenser hvis modtageren af emails videresender disse til en anden email adresse.

Rigtig mange mennesker har mere end en email-adresse. Vi ser ofte at vores brugere opretter flere mailadresser på vores server, og at de konfigurerer nogle at disse adresser til at videresende til en anden adresse så de kun behøver at tjekke en enkelt indboks. For det meste fungerer det også helt fint, men vi oplever nogle gange at kunder henvender sig og klager over at enkelte emails af den ene eller anden grund ikke bliver korrekt videresendt (typisk opdager de det fordi afsenderen kontakter dem på anden vis og fortæller at en email er kommet retur med en fejlbesked).

Der kan være mange grunde til at levering af email fejler, men vi får et stigende antal henvendelser hvor leveringsproblemerne skyldes en restriktiv opsætning af SPF på afsenderdomænet. Her er et konstrueret eksempel:

peter@bluestripe.dk sender en mail til henrik@flagtail.dk. Henrik har sat en forwarder op i cPanel der sørger for at disse mails automatisk videresendes til adressen henrik@threespine.dk

Leveringen af denne email foregår på den måde:

  1. mailserveren for domænet bluestripe.dk - lad os kalde den mail.bluestripe.dk - kontakter mailserveren der håndterer mails for domænet flagtail.dk (som vi kalder mail.flagtail.dk i dette eksempel).
  2. mail.flagtail.dk modtager emailen til henrik og konstaterer at den skal videresendes til henrik@threespine.dk.
  3. mail.flagtail.dk kontakter dernæst mailserveren der håndterer threespine.dk (vi kalder den mail.threespine.dk i vores eksempel) og afleverer den videresendte email til den endelige destination.

Forenklet ser det således ud: peter@bluestripe.dk -> mail.bluestripe.dk -> mail.flagtail.dk -> mail.threespine.dk -> henrik@threespine.dk.

Der er med andre ord tre mailservere involveret - afsenderen mail.bluestripe.dk, "mellemstationen" mail.flagtail.dk der står for videresendelsen, og endelig mailserveren på slutdestinationen, mail.threespine.dk.

Lad os nu antage at ejeren af domænet bluestripe.dk har oprettet en SPF post der specificerer hvilke mailservere der har lov til at sende emails fra domænet. Det giver modtageren mulighed for at vurdere om man kan have tillid til afsenderen eller ej - hvis en email fra peter@bluestripe.dk kommer fra en anden mailserver end administratoren har oplyst, så er der muligvis tale om spam med en forfalsket afsenderadresse. En SPF post for domænet bluestripe.dk kan f.eks. se således ud: "v=spf1 a:mail.bluestripe.dk ?all"

Denne SPF post specificerer at mailserveren mail.bluestripe.dk er autoriseret til at sende emails på vegne af domænet bluestripe.dk. Spørgsmålstegnet "?" og teksten "all" i slutningen af posten indikerer at der ikke er defineret nogen regler for andre mailservere, dvs. der er op til modtageren at vurdere hvordan man vil behandle mails fra adresser der ender med "bluestripe.dk" som ikke kommer fra mail.bluestripe.dk.

I ovenstående eksempel er der ingen problemer:

  1. mail.flagtail.dk modtager emailen fra mail.bluestripe.dk hvilket er eksplicit tilladt.
  2. mail.threespine.dk modtager den videresendte email fra mail.flagtail.dk. Teksten "?all" i SPF-posten indikerer at dette hverken er forbudt eller tilladt, så langt de fleste mailservere vil acceptere emailen (i nogle tilfælde kan den blive markeret som mulig spam).

Administratoren af bluestripe.dk domænet kan imidlertid have lavet en mere restriktiv SPF post: "v=spf1 a:mail.bluestripe.dk -all". Her er "?all" erstattet med "-all", hvilket betyder at alle andre mailservere end lige netop mail.bluestripe.dk har forbud mod at levere mails fra domænet. Her vil videresendelsen ovenfor typisk fejle, fordi den den endelige modtager ser en mail fra peter@bluestripe.dk der ankommer via den ikke-godkendte mailserver mail.flagtail.dk.

Hvis man bruger videresendelse af email via cPanel (eller har sat videresendelse op i et andet hosting kontrolpanel), så er det derfor en god ide med mellemrum at tjekke om man skulle være rendt ind i leveringsproblemer af denne type. I cPanel giver ikonet "Email Trace" adgang til leverings-historik for email.

Den letteste måde helt at eliminere problemet på er at undlade at videresende email, og i stedet hente email fra sekundære email-konti ved hjælp af enten POP eller IMAP. Hvis man kan leve med at skulle tjekke flere steder kan man også bruge webmail til at tjekke for nye mails med mellemrum.