SPF

Co to jest

Rekord SPF służy do uwierzytelnienia adresu kopertowego (return-path) i ma na celu wyliminowanie podrabiania tego adresu. Sprawdzając rekord SPF, adresaci mogą ustalić, czy wiadomość wyglądająca na wysłaną z określonej domeny pochodzi z autoryzowanego serwera poczty.

Załóżmy na przykład, że Twoja domena w której masz konta poczowe to example.com. Tworzysz rekord SPF, który identyfikuje Twoje serwery pocztowe jako autoryzowane serwery poczty dla tej domeny. Kiedy serwer poczty adresata otrzyma wiadomość wysłaną z konta użytkownik@example.com, może sprawdzić rekord SPF domeny example.com, aby określić, czy wiadomość pochodzi z autoryzowanego serwera poczty. Jeśli wiadomość pochodzi z serwera innego niż serwery poczty którego jesteś właścicielem (i który zautoryzowałeś we wpisach SPF), serwer poczty adresata może odrzucić ją jako spam (lub całkowicie odbić).

Jeśli Twoja domena nie ma rekordu SPF, wiadomości od użytkowników z tej domeny mogą być odrzucane przez niektóre domeny adresatów, ponieważ nie będzie możliwe sprawdzenie, czy wiadomości pochodzą z autoryzowanego serwera poczty.

Wpis SPF jest umieszczony w rekordzie SPF lub TXT (w zależności od tego czy serwer obsługuje rekordy SPF czy nie).

Czym są rekordy domeny

Rekord domeny służą do tego aby ją skonfigurować. Samo kupno domeny nie wystarczy aby nasz serwis działał. Musimy domenie wskazać serwer do kórego będzie podpięty, tak żeby wpisanie example.com spowodowało przekierowanie na odpowiednią stronę. Do tego dokładnie służy najbardziej podstawowy z rekordów, tzw rekord A.

Wszystkie możliwe rekordy domeny które można ustawić to:

  • A – adres IPv4
  • AAAA – adres IPv6
  • MX – adres serwera poczty
  • NS – adres serwera DNS
  • CNAME – alias do innego hosta
  • PTR – adres odwrotny
  • TXT – pole tekstowe
  • SPF – pole rekordu SPF
  • SRV – rekord usługi
  • SOA – rekord wskazujący na serwer DNS

Jeśli chcecie zagłębić wiedzę na temat rekordów domen polecam skorzystać z linków:

Opis poszczególnych rekordów domeny

Konfiguracja rekordów domany na przykładzie Home.pl

W przypadku wysyłania maili chcemy ustawić rekord SPF, który umeszcza się w rekordzie TXT.

Jak wygląda wpis SPF

Rekordy SPF zawierają informację o adresach IP serwerów z których pozwalamy wysyłać maile. Przykładowy wpis mógłby wyglądać tak (jest to prawdziwy wpis SPF serwisu GitHub.com):

v=spf1 ip4:192.30.252.0/22 include:_spf.google.com include:esp.github.com include:_spf.createsend.com include:mail.zendesk.com ~all

A jak to wygląda we FreshMail'u

W przypadku FreshMail.pl/FreshMail.com trzymamy nasze wpisy SPF w rekordzie TXT _spf.freshmail.pl

Aktualnie taki wpis wygląda następująco (pamiętajcie, że zmienia się on co jakiś czas, więc jak czytacie te słowa to mże już być nie aktualny):

v=spf1 ip4:185.38.248.0/26 include:_spf.emailmarketingonline.eu include:_spf.einternetmarketing.eu include:_spf.einternetmarketing.net include:_spf.newsletter-hub.com include:_spf.esendmemail.com include:_spf.app.freshmail.com -all

Jak będzie wyglądał ten wpis w moim przypadku

W pierwszej kolejności powinniśmy odpowiedzieć sobie na pytanie z jakiego adresu nadawcy (from) będziemy wysyłać malingi. Jeśli dla przykładu masz konta mailowe w domenie example.com i posiadasz w tej domenie maila biuro@example.com to powinieneś ustawić wpis TXT dla domeny example.com. Jeśli natomiast korzystać z innej subdomeny, np jak.kowalski@firma.example.com to powinieneś ustawić wpisy TXT dla subdomeny firma.example.com.

Gdy już wiesz dla jakiej domeny powinieneś ustawić wpis SPF to masz 2 możliwości:

Nie mam wpisu SPF w swojej domenie / subdomenie

Ten przypadek jest prosty. Wystarczy umieścić wpis TXT jak poniżej:

v=spf1 include:_spf.freshmail.pl -all

To w zupełności wystarczy!

UWAGA!! Nie zalecamy umieszczania w swoim wpisie SPF tylko serwerów FreshMail'a. Może to spowodować, że Twoja normalna komunikacja mailowa (do twoich pracowników / kontrachentów / partnerów) będzie nieautoryzowana. W takim wypadku we wpisie SPF powinieneś także umieścić adresy swoich serwerów pocztowych z których korzystasz na potrzeby komunikacji firmowej. Wyjątek może tutaj stanowić przypadek w którym korzystasz z dedykowanej domeny tylko i wyłącznie na potrzeby mailingu i nie prowadzisz z niej żadnej innej komunikacji.

Mam już wpis SPF w swojej domenie / subdomenie

W tym przypadku najpierw musimy sprawdzić jakie wpisy SPF już istnieją w mojej domenie / subdomenie. Dla przykładu możę to być wpis:

v=spf1 ip4:192.30.252.0/22 include:_spf.google.com include:esp.github.com include:_spf.createsend.com include:mail.zendesk.com ~all

Wtedy musimy dodać do tego wpisu frazę include:_spf.freshmail.pl. Po takiej modyfikacji nasz wpis wyglądałby tak:

v=spf1 ip4:192.30.252.0/22 include:_spf.google.com include:_spf.freshmail.pl include:esp.github.com include:_spf.createsend.com include:mail.zendesk.com ~all

To w zupełności wystarczy.

Jak dodać taki wpis w panelu swojej domeny

Niestety nie ma tutaj jednej uniwersalnej odpowiedzi. Jeśli nie wiesz jak dodać wpis u danego registranta domeny możesz posłużyć się pomocami udostępnianymi przez firmy hostingowe, np:

Home.pl - Rekordy Domeny

Nazwa.pl - Co to są rekordy domeny?

OVH.pl - Pole SPF

Jeśli korzystasz z innego registranta to na pewno udostępnia on podobne poradniki za pomocą których będziesz mógł dodac taki wpis.

Czy FreshMail może dodać taki wpis za Ciebie?

Nie, nie dodamy takiego wpisu za Ciebie. Jeśli nie wiesz jak to zrobić to skontaktuj się z biurem obsługi klienta firmy w której kupiłeś domenę. Możesz także skorzystać z wiedzy i doświadczenia kogoś kto profesjonalnie zajmuje się Twoją stroną, np. administratora lub programisty.

Narzędzia

W jaki sposób możesz sprawdzić poprawność wpisów SPF?

W systemie typu UNIX / MacOS można skorzystać z bashowej komendy dig, np:

dig _spf.freshmail.pl TXT

Istnieją także narzędzia webowe do sprawdzania i analizowania wpisów SPF, np:

SPF Record Testing Tools

SPF Records

Why did SPF cause my mail to be rejected?

Sender Policy Framework - kompletna dokumentacja