トTommy Slettvold
Notes · Email security

SPF, DKIM and DMARC for small businesses

Could someone be sending scam emails in your company's name right now? A few lines in your DNS usually stop it, yet most small businesses still haven't added them. Here's how the three checks work, how to set them up safely, and the mistakes to avoid.

22 October 2026 · 4 min read · 日本語

Why now

In Japan, the Council of Anti-Phishing Japan received 2,454,297 phishing reports in 2025, about 1.43 times the year before and a new record. Early in the year, a large share of those emails used real brands' own domains as the sender. The targets were domains with no DMARC record, or with a policy left at "none".

In September 2025, Japan's Ministry of Internal Affairs and Communications asked the telecom industry associations to adopt DMARC with a "quarantine" or "reject" policy. Google, meanwhile, requires SPF, DKIM and DMARC from anyone sending more than 5,000 emails a day, and SPF or DKIM from everyone else.

So without them, your domain is easier to impersonate, and your own legitimate emails are more likely to land in spam.

The three checks

許

SPF

A list of the servers allowed to send email for your domain, published as a DNS TXT record.

署

DKIM

A digital signature on each email. The receiver checks it with a public key in your DNS, proving who sent it and that nothing was changed.

判

DMARC

Combines the SPF and DKIM results, tells receivers what to do with failures (nothing, quarantine or reject), and sends you reports.

The key idea is alignment. DMARC checks that the domain people see in the From line matches the domain that passed SPF or DKIM. Passing SPF for some other domain doesn't count.

An example setup

A made-up company, example.com, uses Google Workspace for staff email and an email delivery service for notifications. The delivery service sends from a subdomain, send.example.com, to keep it apart from the main domain.

NameTypeValue (example)What it does
example.comTXTv=spf1 include:_spf.google.com ~allSPF: allows Google's servers to send
google._domainkeyTXTv=DKIM1; k=rsa; p=MIIB…DKIM: public key generated in the Google Admin console
(selector)._domainkeyTXT / CNAMEGiven by the delivery serviceDKIM: the delivery service's public key
send.example.comTXT / MXGiven by the delivery serviceSPF for the subdomain and bounce handling
_dmarcTXTv=DMARC1; p=none; rua=mailto:dmarc@example.comDMARC: monitor only for now, and send reports

Domains that never send email (ones you only own to protect your name) are even simpler: v=spf1 -all and v=DMARC1; p=reject tell the world that any email from them is fake.

Rolling it out safely

  1. Start by watching (2–4 weeks). Set p=none with a rua address for aggregate reports. Nothing changes for delivery, and you learn who is sending email as your domain.
  2. Add every legitimate sender. The reports reveal the ones you forgot: invoices from accounting software, booking systems, newsletters, web forms, the office printer's scan-to-email. Give each one SPF and DKIM.
  3. Move to quarantine. When all real email passes, switch to p=quarantine. Failures go to the spam folder.
  4. Finish with reject. After a quiet period, set p=reject. Fakes are refused outright. Use sp= to set the policy for subdomains.

Common mistakes

How to check

On Windows, in Command Prompt (on macOS or Linux, use dig TXT _dmarc.example.com):

nslookup -type=TXT example.com
nslookup -type=TXT _dmarc.example.com

Or check a real email: send one to a Gmail address, open it and choose "Show original". If SPF, DKIM and DMARC all say PASS, you're done.

Why DMARC alone isn't enough

The 2026 report from the Council of Anti-Phishing Japan shows that by the end of 2025, about 75% of phishing came from look-alike domains the attackers registered themselves, set up so they pass DMARC. DMARC protects your exact domain, not every domain that resembles it.

So take DMARC all the way to reject, then add BIMI (your verified logo in the inbox), monitoring for look-alike domains, staff training, and multi-factor authentication on every account.

This site's own email follows the same steps, starting from the monitoring stage. Questions about your setup? Get in touch.

Sources