Jak vytvořit SPF záznam krok za krokem
Než začnete: co potřebujete vědět
SPF záznam (Sender Policy Framework) je TXT záznam v DNS vaší domény, který definuje, které servery smějí odesílat e-maily za vaši doménu. Pokud jste s pojmem SPF ještě nepracovali, přečtěte si nejdřív Co je SPF záznam a proč ho potřebujete.
Pro vytvoření SPF záznamu potřebujete:
- Přístup k DNS správě vaší domény (registrátor nebo DNS hosting)
- Seznam všech služeb a serverů, které odesílají e-maily z vaší domény
- Základní znalost práce s DNS záznamy (přidání TXT záznamu)
Zmapujte všechny odesílatele
Nejčastější příčinou nefunkčního SPF záznamu je opomenutí některého legitimního odesílatele. Projděte všechny systémy, které odesílají e-maily z vaší domény:
- Firemní e-mail — Google Workspace, Microsoft 365, vlastní mailový server
- Webový server — kontaktní formuláře, notifikace z webu
- Fakturační systém — Fakturoid, iDoklad, Pohoda, Money S3
- Marketing — Mailchimp, Ecomail, SmartEmailing
- Helpdesk / CRM — Freshdesk, HubSpot, Salesforce
- Transakční e-maily — SendGrid, Mailgun, Amazon SES, Postmark
U každé služby zjistěte SPF include string (identifikátor služby pro vložení do SPF záznamu) — najdete ho v dokumentaci dané služby, typicky v sekci "DNS nastavení" nebo "E-mailová autentizace".
Běžné include stringy
| Služba | Include string |
|---|---|
| Google Workspace | include:_spf.google.com |
| Microsoft 365 | include:spf.protection.outlook.com |
| SendGrid | include:sendgrid.net |
| Mailgun | include:mailgun.org |
| Amazon SES | include:amazonses.com |
| Freshdesk | include:email.freshdesk.com |
Některé služby (např. Mailchimp, Postmark) používají vlastní doménu v obálkové adrese e-mailu a SPF include do vašeho záznamu nevyžadují — ověřte vždy aktuální dokumentaci konkrétní služby.
U vlastního serveru použijte mechanismus ip4: nebo ip6: s IP adresou serveru.
Sestavte SPF záznam
Každý SPF záznam má tři části:
- Verze — vždy
v=spf1 - Mechanismy — seznam povolených odesílatelů
- Politika — co udělat s nepovolenými (
-allnebo~all)
Příklad: doména s Google Workspace a vlastním serverem
v=spf1 include:_spf.google.com ip4:198.51.100.10 -all
Příklad: doména s Microsoft 365 a SendGridem
v=spf1 include:spf.protection.outlook.com include:sendgrid.net -all
Příklad: doména s více službami
v=spf1 include:_spf.google.com include:sendgrid.net include:email.freshdesk.com ip4:203.0.113.5 -all
Volba politiky: -all vs. ~all
| Politika | Výsledek | Kdy použít |
|---|---|---|
-all |
Hard fail — nepovolené e-maily odmítnout | Produkční nastavení, kdy máte jistotu, že seznam odesílatelů je kompletní |
~all |
Soft fail — označit jako podezřelé | Při prvním nasazení, dokud neověříte, že všichni odesílatelé jsou zahrnuti |
Doporučený postup: začněte s ~all, sledujte DMARC reporty několik týdnů a po ověření přepněte na -all.
Publikujte záznam v DNS
Přihlaste se do správy DNS vaší domény a přidejte nový TXT záznam:
| Pole | Hodnota |
|---|---|
| Typ | TXT |
| Název/Host | @ (nebo prázdné — záleží na poskytovateli) |
| Hodnota | Váš SPF záznam (např. v=spf1 include:_spf.google.com -all) |
| TTL | 3600 (1 hodina) nebo výchozí hodnota |
Důležité pravidlo: doména smí mít pouze jeden SPF záznam. Pokud už TXT záznam začínající v=spf1 existuje, netvořte nový — upravte ten stávající a přidejte do něj další mechanismy. Více SPF záznamů způsobí chybu PermError podle RFC 7208 (sekce 4.5) a SPF kontrola selže.
Ověřte správnost záznamu
Po publikování záznamu v DNS (propagace může trvat až 48 hodin, obvykle 5–30 minut) ověřte:
- Syntaxi — je záznam správně formátovaný?
- DNS dotazy — nepřekračuje limit 10 DNS lookupů?
- Pokrytí — jsou zahrnuty všechny oprávněné servery?
Ověřte si svůj SPF záznam analyzérem SPFmonitor — zkontroluje syntaxi, počet DNS dotazů, vnořené include záznamy a celkovou konfiguraci.
Hlídejte limit 10 DNS dotazů
Podle RFC 7208 (sekce 4.6.4) smí vyhodnocení SPF záznamu vyvolat maximálně 10 DNS dotazů. Do limitu se počítají mechanismy include, a, mx, ptr (zastaralý, ale stále se počítá), exists a modifikátor redirect. Mechanismy ip4, ip6 a all DNS dotazy nevyvolávají.
Každý include přitom může obsahovat další vnořené include záznamy — a ty se počítají taky. Počet vnořených dotazů závisí na konkrétní službě a může se měnit — ověřte aktuální stav analyzérem SPF záznamu.
Jak spočítat DNS dotazy
| Mechanismus | Počet DNS dotazů |
|---|---|
include:domena.cz |
1 + dotazy vnořeného záznamu |
a |
1 |
mx |
1 + dotazy na A záznamy MX serverů |
exists |
1 |
redirect |
1 |
ip4:, ip6: |
0 |
all |
0 |
Pokud se blížíte k limitu, zvažte:
- Nahrazení
includezaip4/ip6— pokud služba používá stabilní IP adresy - Odstranění nepoužívaných služeb — ukončili jste některou službu? Odeberte její include
- SPF flattening — technika, která nahradí vnořené include za IP adresy (vyžaduje automatizaci, protože IP adresy se mohou měnit)
Časté chyby při vytváření SPF záznamu
Více SPF záznamů na doméně
Doména smí mít pouze jeden TXT záznam začínající v=spf1. Pokud přidáváte novou službu, upravte existující záznam — nepřidávejte druhý.
Špatně (dva samostatné záznamy):
v=spf1 include:_spf.google.com -all
v=spf1 include:sendgrid.net -all
Správně (jeden sloučený záznam):
v=spf1 include:_spf.google.com include:sendgrid.net -all
Použití +all
Mechanismus +all povoluje odesílání e-mailů z jakéhokoli serveru — fakticky vypíná SPF ochranu. Nikdy ho nepoužívejte.
Chybějící odesílatel
Pokud opomenete zahrnout legitimního odesílatele (typicky fakturační systém nebo CRM), jeho e-maily budou při -all odmítány. Proto je mapování odesílatelů v prvním kroku klíčové.
Překročení limitu DNS dotazů
S každou novou službou roste počet DNS dotazů. Překročení limitu 10 způsobí PermError — SPF kontrola selže pro všechny e-maily, včetně oprávněných.
Doplňte SPF o DKIM a DMARC
Funkční SPF záznam je základ, ale sám o sobě nezajistí kompletní ochranu. SPF neověřuje hlavičku From (adresu, kterou vidí příjemce) — ověřuje pouze envelope sender (obálkovou adresu).
Pro kompletní zabezpečení e-mailové autentizace potřebujete:
- DKIM (DomainKeys Identified Mail) — ověřuje, že obsah e-mailu nebyl cestou změněn
- DMARC (Domain-based Message Authentication, Reporting, and Conformance) — propojuje SPF a DKIM s adresou v hlavičce From a definuje, co dělat s neověřenými e-maily
E-mailová autentizace není jednorázové nastavení. DNS záznamy se mění, služby přibývají, IP adresy expirují. Pravidelný monitoring vaší domény zajistí, že ochrana zůstane funkční.