SPF, DKIM & DMARC for SMBs: Stop Domain Spoofing (2026)
How SPF, DKIM and DMARC stop attackers sending mail as your domain: checking your setup, what DMARC policies mean, a phased rollout, and cost ranges.
SPF, DKIM and DMARC are DNS settings that let receiving mail servers reject messages that falsely claim to come from your domain. The work is mostly adding DNS records, and for most small businesses the direct cost ranges from nothing to a few hundred dollars. Despite that, many companies leave them unset or half-configured, and only find out when a customer receives a fake invoice sent in their name.
What domain spoofing actually causes
The From field of an email is written by the sender, freely. If your domain has no protection, anyone can send mail claiming to be "@yourcompany.com". The damage happens on the recipient's side, which means it can occur even when none of your own computers are compromised.
- Fake invoices and bank-detail change notices: a customer wires money to the attacker's account
- Messages impersonating the CEO: finance staff are instructed to make an urgent payment or send data
- Bulk spam sent in your name: your domain lands on block lists, and your legitimate mail stops arriving
- Support cost: staff time spent answering "did this really come from you?" enquiries
The third item hurts the business most. Once your domain's reputation drops, quotes and purchase orders stop reaching customers too. For diagnosing mail delivery problems, see First response when company email stops arriving.
What each mechanism actually checks
The three work as a set. SPF and DKIM provide the evidence for judging whether a message is legitimate; DMARC states what to do when that judgement fails, and sends you reports.
| Mechanism | What it verifies | Where it lives | Weakness on its own |
|---|---|---|---|
| SPF | The mail came from a server the domain owner authorised | DNS TXT record | Often fails when mail is forwarded |
| DKIM | The signature added at send time is valid and untampered | DNS TXT record plus sender-side signing | Signing keys need managing and rotating |
| DMARC | Whether SPF/DKIM results align with the From domain, and what to do on failure | DNS TXT record | Does nothing if SPF/DKIM are missing |
A common misconception is "we have SPF, so we are covered". With SPF alone, the receiving side has no clear instruction to discard forgeries. Only the full set tells recipients that fakes may be thrown away.
The three DMARC policy levels
DMARC specifies how failing messages should be handled. Jumping straight to the strictest setting risks blocking your own legitimate mail — notifications from booking systems, marketing platforms, and so on — so raising it in stages is standard practice.
| Policy | Recipient behaviour | Role |
|---|---|---|
| none (monitor) | Deliver normally, report results only | Initial phase: discover every source sending as your domain |
| quarantine | Route to the spam folder | Transition phase: watch for false positives |
| reject | Refuse delivery | The goal: forgeries never reach the recipient |
Domains left at none for years are extremely common. none is an observation setting; it stops nothing. The control is only complete once you reach reject — make sure whoever manages your DNS understands that.
These settings are becoming table stakes
Since 2024, major mailbox providers have moved toward requiring SPF, DKIM and DMARC from senders above certain volumes. If you send newsletters or booking notifications, being unconfigured now risks the mail simply not being delivered. Even low-volume senders are affected, as receiving filters tighten each year and configured domains are increasingly treated as the baseline.
Three steps to audit your current state
- 1. List everything that sends as your domain: office mail (Microsoft 365, Google Workspace), contact-form auto-replies, marketing platforms, invoicing and booking systems, plus mail sent on your behalf by accountants or web agencies
- 2. Check the current DNS records: whether SPF, DKIM and DMARC records exist and what they say — and confirm who holds the DNS management rights (registrar, hosting company, or agency)
- 3. Prepare a mailbox for DMARC reports: use a dedicated address or a report-analysis service rather than mixing them into everyday mail
Missing something in step 1 is what breaks legitimate mail later when you tighten the policy. In practice this is the most time-consuming part. Tracking down who owns your domain and DNS accounts is also covered in Account, password and MFA management.
A phased rollout
| Phase | Work | Typical duration |
|---|---|---|
| Preparation | Inventory sending sources, confirm DNS access | 1–2 weeks |
| SPF/DKIM | Include every source in SPF, enable DKIM signing | 1–2 weeks |
| DMARC none | Start receiving reports, look for unexpected senders | 4–8 weeks |
| quarantine | Move some or all traffic to quarantine, monitor complaints | 2–4 weeks |
| reject | Switch to reject; update records whenever a new sender is added | Ongoing |
Allow three to four months overall. Reading the reports properly during the none phase causes far fewer incidents than rushing to reject.
Cost ranges
| Approach | Typical cost | Suits |
|---|---|---|
| Configure DNS yourself | No direct cost, internal time only | You manage DNS and have only two or three sending sources |
| One-off request to an agency or maintenance vendor | Roughly ¥30,000–100,000 | Multiple sending sources; you want report review included |
| DMARC report analysis service | Roughly ¥3,000–20,000 per month | Many sources, ongoing report reading required |
| Ongoing managed support | Roughly ¥10,000–30,000 per month | No one in-house to review the reports |
Writing the records once costs almost nothing. The cost sits in inventorying senders and reviewing reports through the move from none to reject. When requesting a quote, separate "configure the records" from "support us through to reject" explicitly.
Common mistakes
- Two SPF records: a domain may have only one SPF TXT record; add to the existing one rather than creating another
- Adding a mail platform without updating DNS: make updating SPF/DKIM part of onboarding any new sending service
- Left at none forever: reports arrive but nobody reads them — assign an owner and a review cadence
- Unknown DNS ownership: the domain sits in a departed employee's personal account or with an unreachable vendor, so nothing can be changed
- Forwarding breaks verification: auto-forwarding to another address commonly fails SPF; prioritise DKIM, which usually survives forwarding
Checklist
- Do you know who manages your domain's DNS?
- Have you listed every source that sends as your domain, including third parties sending on your behalf?
- Is there exactly one SPF record, covering all of those sources?
- Is DKIM signing enabled on your main sending platforms?
- Is a DMARC record published, with a report destination decided?
- Have you assigned an owner and cadence for reading the reports?
- Is the move to quarantine and then reject scheduled?
- Does adding a new mail platform trigger a DNS review?
- Do you have a contact point for customers reporting suspicious mail in your name? (Complete IT risk guide for small businesses)
FAQ
We only send a few dozen emails a day. Do we still need this?
Yes. Spoofing risk scales with the credibility of your domain name, not with how much mail you send. A supplier receiving a fake bank-details change is just as likely at low volume. If anything, having few sending sources makes the setup easier.
Will moving DMARC to reject break our legitimate mail?
It can, if the inventory of sending sources was incomplete. That is exactly why the none phase exists: read the reports and confirm there are no unexpected senders. Passing through quarantine first and watching for complaints keeps the impact minimal.
Who should we ask to configure it?
Start with whoever manages your DNS — the registrar, hosting company, or web agency. Note that writing the records and deciding how to reach reject are different jobs, so be explicit about which you are asking for when requesting a quote.
Can we check the current settings ourselves?
DNS records are public, so checking whether they exist is straightforward. Judging whether the contents are correct — every source covered, no syntax errors — takes some expertise. A practical split is to do the first check yourself and have your DNS provider validate the contents.
What if we use free email rather than our own domain?
Nothing for you to configure: the provider handles it for their domain. You do still carry other issues, such as credibility with customers and handing over accounts when staff leave. If you move to your own domain, set up SPF, DKIM and DMARC as part of that migration.
Summary
SPF, DKIM and DMARC are decided by process rather than budget. The hard parts are not the records themselves but two things: finding every source that sends as your domain, and actually raising the policy to reject instead of stopping at none. Start by confirming who controls your DNS and putting your sending sources into a single table. For the broader ordering of security work, see First steps in security for small businesses.
Related free tools (no sign-up, instant results)
Feel free to contact us
Contact Us