When a business’s emails go to spam, the instinct is to blame the wording: too many offers, the word “free”, an exclamation mark. Sometimes that’s part of it. But for most small businesses the real problem is more basic. The receiving mailbox can’t confirm the email really came from you, so it treats it with suspicion.
That confirmation comes from three DNS records: SPF, DKIM and DMARC. They take an hour to set up and they’re now required by the largest mailbox providers.
What the big mailbox providers require
Gmail (personal Gmail accounts, from February 2024):
| All senders | Senders of more than 5,000 messages a day to Gmail |
|---|---|
| SPF or DKIM | SPF and DKIM and DMARC (policy can be p=none) |
| Valid forward and reverse DNS for sending servers | The same |
| TLS connection | The same |
| Spam rate in Postmaster Tools below 0.3% | The same |
| From address aligned with SPF or DKIM (DMARC alignment) | |
| Marketing messages support one-click unsubscribe and show a visible unsubscribe link |
Outlook.com (Microsoft’s consumer mailboxes such as outlook.com and hotmail.com) announced similar rules in 2025 for domains sending more than 5,000 emails a day: pass SPF, pass DKIM and publish DMARC at least at p=none. Microsoft said non-compliant mail would go to Junk first, with rejection to follow. Yahoo publishes comparable sender guidelines.
Even if you send far less than 5,000 a day, set up all three. It’s the same hour of work, and it protects your domain from being spoofed.
Step 1: list everything that sends email as your domain
This is the step people skip, and the cause of most broken setups. Typical senders for a small business:
- your mailbox provider (Google Workspace, Microsoft 365, Zoho Mail)
- your email marketing tool (Klaviyo, Mailchimp, Brevo, HubSpot)
- your store (Shopify order emails), booking tool and CRM
- website contact forms and invoicing software
Each one sending as @yourdomain.com must be covered by SPF or DKIM, ideally both.
Step 2: SPF, one record listing every sender
SPF is a TXT record on your root domain listing who may send for it. Example for Google Workspace plus one marketing tool:
v=spf1 include:_spf.google.com include:spf.yourmarketingtool.com ~all
Rules that trip people up:
- Only one SPF record per domain. Two
v=spf1records break SPF. Merge them into one. - Ten DNS lookups maximum. Each
include:costs at least one lookup, and the SPF standard (RFC 7208) caps them at 10. Too many includes means SPF fails. Remove services you no longer use. - Copy the exact include from each provider’s setup instructions. Don’t guess it.
~allvs-all:~all(softfail) is the common, safer starting point.
Step 3: DKIM, one key per sending service
DKIM adds a digital signature to each email. You turn it on inside each sending service, which gives you a DNS record (usually a TXT or CNAME at something like google._domainkey.yourdomain.com). Add the record at your DNS provider, then go back to the service and confirm or “start authentication”.
Do this for every service from step 1. A marketing tool that signs with its own domain instead of yours won’t help your domain’s reputation or DMARC alignment. Look for a “custom domain” or “authenticate your domain” setting.
Step 4: DMARC, starting with monitoring
DMARC tells mailbox providers what to do when a message fails SPF and DKIM alignment, and where to send reports. Add a TXT record at _dmarc.yourdomain.com:
v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com
- Start with
p=none. It only monitors. Nothing gets blocked while you check that all your legitimate senders pass. - Read the reports for a few weeks. The XML reports are hard to read raw, so many people use a free DMARC report viewer.
- Then tighten to
p=quarantineand eventuallyp=rejectonce every legitimate sender passes. That’s what stops others from impersonating your domain.
Step 5: one-click unsubscribe and list hygiene
- Use your email platform’s built-in unsubscribe. Reputable platforms add the one-click unsubscribe headers (RFC 8058) for you. Check it’s switched on.
- Put a visible unsubscribe link in every marketing email.
- Stop emailing people who haven’t opened or clicked in a long time. Old, unengaged addresses push your spam rate up.
- Never buy lists. Besides deliverability, it creates consent problems under the UAE’s data protection law. See UAE PDPL and marketing consent.
Step 6: check it worked
- Send a test to a personal Gmail address, open it, choose Show original, and look for
SPF: PASS,DKIM: PASSandDMARC: PASS. - Repeat for each sending service: marketing email, store order email, booking confirmation.
- Set up Google Postmaster Tools for your domain to watch your spam rate over time. It’s free, and it only shows data once you send a meaningful volume to Gmail.
Common problems and fixes
| Symptom | Likely cause | Fix |
|---|---|---|
| Gmail shows “via sendgrid.net” or similar next to your name | The service signs with its own domain | Set up custom-domain DKIM in that service |
| SPF: PermError | Two SPF records, or more than 10 lookups | Merge records, remove unused includes |
| DMARC: FAIL but SPF and DKIM pass | Alignment: the passing domain isn’t your From domain | Use custom DKIM or a custom return-path domain in the sending service |
| Order emails fine, newsletters in spam | Marketing tool not authenticated, or engagement is low | Authenticate the tool, clean the list, send what people signed up for |
| Everything in spam after a big send | Sudden volume from a new domain, or complaints | Ramp volume gradually, send to engaged contacts first |
A note on new domains
A domain that has never sent email has no reputation. If you’re launching, start with transactional emails (orders, bookings) and engaged subscribers, then grow volume over a few weeks rather than emailing your whole list on day one.
Frequently asked questions
We only send a few hundred emails a month. Does this apply to us?
Gmail requires SPF or DKIM from all senders. DMARC and one-click unsubscribe are only required above 5,000 a day, but they’re quick to set up and protect your domain from spoofing.
Can we just use p=reject straight away?
You can, but if you’ve missed a legitimate sender (an invoicing tool, say), its emails will start bouncing. Monitor with p=none first.
Does this fix emails going to the Promotions tab?
No. Promotions is Gmail’s sorting, not spam. Authentication gets you into the inbox. Where in the inbox depends on the content and how recipients interact with it.
Free download · Excel checklist
Email authentication checklist
List every service that sends email as your domain, then tick off SPF, DKIM, DMARC, alignment and unsubscribe for each, with the exact check for every step.
Download itNo sign-up. Opens in Excel, Google Sheets or Numbers.
Rather have it done?
This is the kind of work our growth funnel service covers. Tell us where you are today and we’ll reply with a plan and a fixed price.
Let’s talk