Most small businesses eventually face the same question: “Why are my emails going to spam, and what do I actually need to fix it?” The answer almost always involves three short acronyms that look more intimidating than they really are: SPF, DKIM and DMARC. These are the standard email authentication methods that tell other mail servers, “Yes, this message really came from us, and it hasn’t been tampered with.” When they are missing or misconfigured, your invoices, password resets and newsletters are far more likely to land in junk folders or be rejected outright.
In this guide, we’ll walk through SPF, DKIM and DMARC in clear language, then show you how to set them up step‑by‑step on your own domain. The focus is on realistic small business setups: shared hosting email, a VPS with your own mail server, or a mix of your own domain plus third‑party email services. If you want to go further after this article, you can also review our detailed checklist on why your emails go to spam and how to fix deliverability issues on shared hosting and VPS. For now, let’s get the foundations right.
İçindekiler
- 1 Why Email Authentication Matters for Small Businesses
- 2 Core Concepts: SPF, DKIM and DMARC in Plain Language
- 3 Before You Start: Prerequisites and Planning
- 4 Step 1: Set Up a Clean SPF Record
- 5 Step 2: Enable DKIM Signing
- 6 Step 3: Publish a Safe DMARC Policy
- 7 Step 4: Test, Monitor and Iterate
- 8 Real‑World Scenarios: Putting It All Together
- 9 Common Mistakes and How to Avoid Them
- 10 Where dchost.com Fits Into Your Email Strategy
- 11 Wrapping Up: A Practical Roadmap for Your Next 30 Days
Why Email Authentication Matters for Small Businesses
Every email you send has to pass several silent trust checks before it appears in someone’s inbox. Large providers and corporate mail gateways are constantly asking:
- Is this domain allowed to send from this IP address?
- Was this email altered in transit?
- Does the sender’s policy say we should accept, quarantine or reject suspicious messages?
SPF, DKIM and DMARC give structured answers to these questions. Without them, your messages look similar to spam and phishing attempts, even if your content is legitimate.
For a small business, the impact is very concrete:
- Lost revenue: abandoned carts because order emails never arrive.
- Support load: customers opening tickets because password resets are missing.
- Brand risk: attackers trying to spoof your domain in phishing campaigns.
The good news: you don’t need to be an email engineer to fix the basics. With access to your DNS panel (often through your hosting control panel) and a bit of planning, you can get SPF, DKIM and DMARC into a healthy state in a single afternoon.
Core Concepts: SPF, DKIM and DMARC in Plain Language
What SPF Does
SPF (Sender Policy Framework) is a DNS record that lists which servers are allowed to send email for your domain. When a receiving server gets a message claiming to be from [email protected], it checks the SPF record of example.com and asks: “Is the sending IP mentioned here?”
Think of SPF as a guest list at the door. If an IP address is on the list, SPF passes. If not, it fails. SPF looks only at who sent the message and from where, not at the content.
What DKIM Does
DKIM (DomainKeys Identified Mail) attaches a digital signature to each email. Your mail server signs outgoing messages with a private key. The matching public key is stored as a DNS record. Receiving servers use the public key to verify that:
- The email really came from a server that controls your domain.
- The headers and body have not been modified in transit.
In practical terms, DKIM proves that the content your recipient sees is the same content you sent.
What DMARC Adds on Top
DMARC (Domain-based Message Authentication, Reporting and Conformance) builds on SPF and DKIM. It lets domain owners publish a policy telling receivers what to do when SPF and/or DKIM fail, and it enables reporting so you can see who is sending on behalf of your domain.
DMARC answers questions like:
- If someone sends an email pretending to be us and it fails checks, should it be rejected or quarantined?
- Which IPs and providers are actually sending email using our domain every day?
DMARC is where you move from “I hope everything is okay” to “I can see exactly what’s happening and control how strict we are.” We cover the reporting and policy side in much more detail in our article DMARC in context: why the reports matter more than the record and how to move from p=none to p=reject.
Before You Start: Prerequisites and Planning
Before editing DNS records, spend 10–15 minutes mapping your real-world setup. This avoids breaking legitimate email when you tighten policies later.
1. List All Systems That Send Email for Your Domain
Typical sources include:
- Your main mailboxes (e.g.
info@,sales@) on shared hosting or a VPS - Transactional email from your website or shop (order confirmations, password resets)
- Newsletter or marketing platforms using your domain as the “From” address
- CRM, helpdesk, invoicing, or booking systems that send emails as your domain
If a system sends mail as @yourdomain.com, it must be reflected in SPF/DKIM/DMARC somehow, or you will eventually block your own traffic.
2. Confirm You Have DNS Access
You will be adding SPF, DKIM and DMARC as TXT records (and sometimes CNAMEs) in DNS. Depending on your setup, DNS may live:
- At your registrar (where you bought the domain)
- On your hosting provider’s nameservers
- On a third‑party DNS service
If you are unsure how your DNS is structured, our guide on connecting a new domain to hosting step‑by‑step explains how nameservers and DNS zones fit together.
3. Decide Who Will Own Email Delivery
As your infrastructure grows, it becomes important to know whether you will:
- Keep email on shared hosting with your website
- Move to a VPS and run your own mail server
- Use specialist hosted email or a mix of services
Each option has different implications for SPF and DKIM. If you are evaluating where to host email, you may find our comparison of self‑hosted email vs hosted productivity suites helpful from both technical and operational angles.
Step 1: Set Up a Clean SPF Record
SPF is usually the easiest place to start, but it’s also easy to clutter with years of old services. We’ll focus on building a clean, minimal record that reflects your current reality.
1. Check for Existing SPF Records
Use a DNS lookup tool or your hosting panel to see if there is already a TXT record starting with v=spf1 at your root domain (e.g. example.com). Important rules:
- You must have only one SPF record per domain.
- If there are multiple, they should be merged into a single record.
2. Map SPF Mechanisms to Your Real Senders
An SPF record is built from mechanisms that describe allowed senders. Common ones:
a: Allow the IP(s) of the domain’s A/AAAA record.mx: Allow the IP(s) of the domain’s MX records.ip4:/ip6:: Allow specific IPv4/IPv6 addresses or ranges.include:: Trust another domain’s SPF policy (used by many email providers).
Example for a small business using its hosting provider for email plus a newsletter service:
v=spf1 mx include:news.examplemail.com -all
This says:
- Emails from the IPs of our MX records are allowed.
- Emails sent via
news.examplemail.com(your newsletter provider) are allowed via their SPF. - Everything else should be rejected (
-allis a hard fail).
For more complex multi‑provider setups and the SPF 10‑DNS‑lookup limit, we’ve written a dedicated piece on advanced SPF management without hitting the 10‑lookup wall.
3. Choose the Right SPF Policy Ending
The end of your SPF record controls how strict it is:
~all– “Soft fail” (not recommended long‑term, but okay while transitioning)-all– “Hard fail”, recommended once you’re sure your record is correct
For example:
v=spf1 mx -all
Start with ~all if you’re unsure whether you’ve captured every sender, then move to -all once you’ve verified logs and DMARC reports.
4. Add or Update the SPF TXT Record in DNS
In your DNS panel:
- Find the zone for your domain (e.g.
example.com). - Add a new TXT record (or update the existing SPF record).
- Set the name/host to
@(or leave it blank, depending on UI). - Paste your SPF string, for example:
v=spf1 mx include:news.examplemail.com -all. - Save and wait for DNS propagation (usually minutes, sometimes a couple of hours).
You can confirm the change with a DNS lookup tool or via command line using dig TXT example.com.
Step 2: Enable DKIM Signing
DKIM requires two parts: generating keys on the sending side, and publishing the public key in DNS as a TXT record (or sometimes via CNAME). The exact steps depend on where your mailboxes and sending services live, but the logic is always the same.
1. Enable DKIM in Your Hosting Panel or Mail Server
On shared hosting with a control panel (like cPanel or DirectAdmin‑style interfaces), there is usually an “Email Deliverability” or “DKIM” option where you can:
- Turn DKIM on for your domain.
- See the DKIM DNS records you need to publish if DNS is hosted elsewhere.
On a VPS with your own mail stack (e.g. Postfix + OpenDKIM or rspamd), you will generate a DKIM key pair, configure the mail server to sign outgoing messages, and note the public key string that must go into DNS. We have a cPanel/VPS‑specific walk‑through in our article SPF, DKIM and DMARC explained for cPanel and VPS email.
2. Understand Selectors and DKIM DNS Records
DKIM uses a selector to allow multiple keys per domain (for rotation, testing, different systems, etc.). A typical DKIM DNS record lives at:
selector._domainkey.example.com
The TXT value will look like:
v=DKIM1; k=rsa; p=PUBLIC_KEY_HERE...
Where p= is a long base64 string (your public key). You don’t edit that string manually; you paste it exactly as generated by your mail server or service.
3. Add DKIM Records for Each Sender
Each system that signs with DKIM will give you either:
- Plain TXT records (selector, host, value) to paste into DNS, or
- CNAME records that point to a key hosted on their domain.
For each sender (your main mail server, newsletter platform, etc.):
- Log in to your DNS panel.
- Add the DKIM TXT or CNAME record they provide.
- Save and wait for propagation.
Once the DNS side is set, send a test email to a mailbox you control (e.g. a personal address) and inspect the message headers. You should see a line like:
DKIM-Signature: v=1; a=rsa-sha256; d=example.com; s=selector; ...
Most online DKIM checkers can also verify that the key is reachable and valid.
Step 3: Publish a Safe DMARC Policy
With SPF and DKIM in place and passing, you’re ready to add DMARC. DMARC will give you visibility into who is using your domain and allow you to gradually move from “monitor only” to “block abuse.”
1. DMARC Alignment in Simple Terms
DMARC looks at two things:
- Authentication: Did SPF and/or DKIM pass?
- Alignment: Does the authenticated domain match the visible “From” domain?
Alignment is what makes DMARC powerful. It’s not enough that some random domain passes SPF or DKIM; it has to align with your domain. There are two alignment modes:
- relaxed:
mail.example.comis allowed forexample.com. - strict: The domain must match exactly.
Most small businesses start with relaxed alignment and only tighten to strict if they have a very controlled setup.
2. Start with a Monitoring‑Only DMARC Record
Create a DMARC record as a TXT entry at:
_dmarc.example.com
A safe starting policy looks like this:
v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; fo=1
What it means:
v=DMARC1– DMARC version.p=none– Monitor only; do not block failing emails yet.rua=– Aggregate reports (daily XML summaries).ruf=– Forensic/failure reports (optional and less widely used now).fo=1– Request reports on any authentication failure.
Use an address that can handle a lot of automated reports (not a personal inbox). Many companies create dmarc@ or dmarc-reports@ and pipe it into a dedicated folder or DMARC analysis tool.
3. Review Reports and Fix Legitimate Failures
For a few weeks, leave DMARC at p=none and watch the reports. You will see:
- All the IPs that send email as your domain
- Whether SPF and DKIM are passing and aligning
- Potential abuse sources trying to spoof your domain
Use this period to add missing senders to SPF, enable DKIM where it’s off, or adjust “From” addresses for systems that cannot be aligned properly.
4. Gradually Enforce Quarantine and Reject
Once you’re confident that all legitimate mail passes SPF/DKIM with correct alignment, you can start protecting recipients from spoofed messages. DMARC supports three main policies:
p=none– Monitor only.p=quarantine– Suspicious mail goes to spam/quarantine.p=reject– Suspicious mail is rejected at SMTP; recipients never see it.
A safe progression is:
- Stay on
p=nonefor a few weeks while fixing issues. - Move to
p=quarantinewithpct=25(25% of failing mail) and gradually increase topct=100. - Finally switch to
p=rejectwhen you’re comfortable that legitimate messages are not being blocked.
Example “quarantine 50%” policy:
v=DMARC1; p=quarantine; pct=50; rua=mailto:[email protected]
Our article on using DMARC reports to move from p=none to p=reject walks through these phases with real‑world tips and sample report interpretations.
Step 4: Test, Monitor and Iterate
Once SPF, DKIM and DMARC are technically in place, you still need a feedback loop. Email ecosystems change: you add new tools, migrate servers, or switch newsletter platforms. Each change can affect authentication.
1. Use Online Checkers and Live Mailboxes
Send test emails to different mailbox providers you or your team use (personal addresses are fine). Check the headers to confirm:
- SPF:
spf=passand domain alignment - DKIM:
dkim=passwith your domain ind= - DMARC:
dmarc=passfor legitimate messages
Combine this with online SPF/DKIM/DMARC validators that can parse your DNS records and highlight syntax issues.
2. Watch Outbound Volumes and Rate Limits
Even with perfect authentication, you can still hurt your sender reputation by sending too many emails too quickly from a shared IP or a fresh VPS. On shared hosting and VPS, you should be aware of provider‑side SMTP limits and abuse protections. Our guide on outbound email security on shared hosting and VPS explains typical rate limits and safe sending patterns.
3. Align Authentication with IP Reputation
If you later move to a dedicated IP for email (for example on a VPS or dedicated server), you’ll need to warm it up carefully so receivers learn that good mail comes from that IP. DMARC, SPF and DKIM are the technical proof; IP warm‑up and good content are the behavioural proof. For that phase, see our guide on dedicated IP warm‑up and email reputation management.
Real‑World Scenarios: Putting It All Together
Many small businesses keep their website and email on the same shared hosting account. A robust baseline for this setup looks like:
- SPF:
v=spf1 mx -all(assuming your MX is your shared hosting server) - DKIM: Enabled in your hosting control panel, DNS records published correctly
- DMARC:
v=DMARC1; p=none; rua=mailto:[email protected]for monitoring, then laterp=rejectonce reports are clean
This alone is a big improvement over having no authentication. If you later move your website to a VPS but keep email on shared hosting, remember to verify that SPF (mx mechanism) still points to the right MX hostnames and IPs.
Scenario 2: Self‑Hosted Mail on a VPS
If you run your own mail server on a VPS or dedicated server, you have more control, but also more responsibility:
- Set a correct PTR (reverse DNS) record for your mail server IP.
- Publish SPF including your mail server IP (e.g.
ip4:203.0.113.10and/ormxif MX is that server). - Configure DKIM signing at the MTA level and publish the selector’s public key in DNS.
- Publish a DMARC policy at
_dmarc.example.comand monitor reports closely.
If you send over IPv6 as well, don’t forget the ip6: mechanism in SPF, and make sure reverse DNS is set for IPv6 too. We cover those details in our article on sending email over IPv6 with proper reverse DNS and SPF.
Scenario 3: Mixed Setup with Marketing Platform
Another common pattern is: main mailboxes on hosting or a VPS, plus a marketing platform sending newsletters from [email protected].
Key steps:
- Add the marketing platform’s
include:directive to your SPF record. - Publish the DKIM records (TXT or CNAME) they provide for your domain.
- Ensure the “From” address they use is
@yourdomain.com, not a random subdomain you didn’t configure. - Check DMARC reports to confirm that both your primary mail server and the marketing platform show up as passing and aligned.
In some cases, it makes sense to use separate sending domains for transactional vs marketing email (for example billing.yourdomain.com and news.yourdomain.com) to isolate reputation issues. We discuss the pros and cons in our guide on using separate sending domains for transactional and marketing emails.
Common Mistakes and How to Avoid Them
1. Multiple SPF Records
Only one SPF TXT record is allowed per domain. If a provider’s documentation tells you to “add this SPF record” and you already have one, don’t just create a second record. Instead, merge their mechanisms into your existing record.
2. Ignoring the SPF 10‑Lookup Limit
SPF allows only 10 DNS lookups per evaluation. Too many include:, mx or a mechanisms can push you over this limit, causing SPF to fail even if everything else is correct. This is especially common when using several third‑party services. Our article on advanced SPF management shows strategies such as flattening and consolidation.
3. Enforcing DMARC Too Early
Jumping straight to p=reject without a monitoring phase is risky. You may block emails from systems you forgot about (old CRMs, booking tools, or HR platforms). Always start with p=none, analyse reports for a few weeks, then gradually move to quarantine and reject.
4. Not Aligning Visible “From” Domains
Some systems send from [email protected] while putting your brand name only in the display name. These messages cannot help your DMARC posture because SPF/DKIM will align with thirdparty.com, not your domain. Where possible, configure those systems to send as @yourdomain.com with DKIM signing on your domain and appropriate SPF entries.
5. Forgetting About DNS TTLs During Changes
When making big SPF or DMARC changes, you may want to lower DNS TTL values temporarily so you can roll back quickly if something goes wrong. Our guide to DNS TTL best practices for A, MX, CNAME and TXT records explains how to choose TTLs that balance flexibility with stability.
Where dchost.com Fits Into Your Email Strategy
As the infrastructure team behind this blog, we see SPF, DKIM and DMARC issues every week across shared hosting, VPS and dedicated environments. The patterns are consistent: once DNS and policies are cleaned up, deliverability improves, support tickets about “missing emails” drop and brands gain better control over how their domains are used.
Whether you run your email on a shared hosting plan, a managed VPS or your own dedicated or colocated server, you need the same building blocks:
- Stable DNS with full control over TXT/CNAME records
- Mail servers configured for SPF, DKIM and DMARC alignment
- Monitoring and logs to see what actually happens in production
At dchost.com we design our shared hosting, VPS, dedicated and colocation services with those requirements in mind, so that when you’re ready to tighten email authentication, the underlying platform doesn’t get in your way.
Wrapping Up: A Practical Roadmap for Your Next 30 Days
SPF, DKIM and DMARC look complex from the outside, but they boil down to three simple questions: who is allowed to send email for your domain, how do we prove messages weren’t tampered with, and what should receivers do when something looks wrong? Once you answer those questions in DNS and on your mail servers, you’ve done most of the hard work.
Over the next 30 days, you can follow this practical roadmap:
- Week 1: List all current senders, clean up your SPF record and verify that it matches reality.
- Week 2: Enable DKIM for each sending system, publish keys, and confirm that signatures pass in message headers.
- Week 3: Publish a DMARC
p=nonepolicy, start collecting and reviewing reports, and fix any legitimate failures. - Week 4: Begin moving cautiously toward
p=quarantine, with an eye on eventually reachingp=rejectonce you’re comfortable.
If you want a more hands‑on checklist that extends beyond authentication into rate limits, content, bounce handling and IP reputation, our article Inbox or spam? A friendly step‑by‑step guide to SPF, DKIM, DMARC and rDNS pairs well with this one.
When you are ready to consolidate email, upgrade your hosting, or move to a VPS or dedicated server with more control, our team at dchost.com can help you choose the right infrastructure and migrate without losing email or SEO. The key is to treat SPF, DKIM and DMARC not as one‑off tasks, but as part of your long‑term domain and hosting architecture. Once they are in place and monitored, you’ll spend less time chasing lost emails and more time focusing on your actual business.
