
What vibe coding actually means for UK teams.
Speed with scrutiny — how we use AI tools without shipping debt.
22 Jul 2026·3 min read
02Resources · How-To
Three DNS records decide whether your invoices reach the inbox or the spam folder. Here is the order to add them in, and how to avoid the mistake that blocks your own mail.

01Before you start
You can edit DNS for the domain and you are an administrator on whatever sends your mail. If either is someone else’s job, get them in the room now rather than at step four.
02Step by step
Do these in order. The sequence matters more than the individual records — publishing an enforcing policy before you know who sends your mail is how organisations block their own invoices.
30 minutes
This is the step people skip and the reason most DMARC rollouts break something. Your mail provider is rarely the only sender. Anything that emails a customer on your behalf has to be accounted for before you tell the world to reject unauthorised mail.
If you inherited the domain, assume the list is incomplete. The DMARC reports in step five will tell you what you missed — which is exactly why the first policy is p=none.
20 minutes
SPF names the servers allowed to send mail for your domain. It is a single TXT record at the root of the domain, and there must only ever be one — two SPF records is a configuration error that causes both to be ignored.
Take the include: value from each provider’s documentation and combine them into one record. A Microsoft 365 domain that also sends through an invoicing tool looks roughly like this:
SPF allows a maximum of ten DNS lookups. Each include: usually costs one, and exceeding ten makes the whole record fail. If you are close to the limit, flattening or a subdomain strategy is the fix.
20 minutes
DKIM adds a cryptographic signature to every message, so a receiving server can prove the mail was not altered and genuinely came from you. Unlike SPF, it survives forwarding — which is why it does most of the real work.
Your provider generates the key pair and gives you the records. In Microsoft 365 and Google Workspace this is two CNAME records or one TXT, published at a selector under _domainkey.
10 minutes
DMARC ties the other two together and tells receiving servers what to do when a message fails. Crucially, it also asks them to send you reports.
Start at p=none. It changes nothing about delivery and simply turns on reporting, which is what makes the rest of this safe.
Do not start at p=reject because an article told you it is the goal. It is the destination, not the starting point, and going straight there will bounce legitimate mail you have not discovered yet.
15 minutes a week
Reports arrive daily as XML, which is unpleasant to read directly. Any DMARC report viewer will turn them into a list of sources with pass and fail counts.
You are looking for one thing: sources sending as you that are failing. Each is either a legitimate system you missed in step one, or someone spoofing you. Legitimate senders get added to SPF and DKIM. Everything else is the reason you are doing this.
10 minutes, a month apart
Once the reports show only your own systems passing, tighten the policy. Go to p=quarantine first and sit there for a few weeks — failing mail goes to spam rather than disappearing, so a mistake is recoverable.
When quarantine has been quiet for a month, move to p=reject. That is the setting that actually stops someone invoicing your customers in your name.
03Take it with you
Every record in this guide, with the exact syntax, the order to apply them in, and the DNS lookup limits that catch people out. Built to sit next to you while you work.
4 pages · PDF
—In short
If you take three things from this
Inventory your senders first — skipping this is what blocks legitimate mail.
One SPF record, ten lookups maximum, and DKIM does the work that survives forwarding.
Start DMARC at p=none, read the reports, and only then tighten to reject.