← Back to Blog
Deliverability12 May 2026 · NexusProMail Team

DMARC, DKIM, SPF: The Complete Setup Guide for Email Senders

Three DNS records stand between your emails and the spam folder. Here is exactly what each one does, how they interact, common setup mistakes, and a step-by-step checklist.

Why email authentication matters

Before DMARC, DKIM and SPF became standard, anyone could send an email claiming to be from any domain. Spam and phishing operations thrived because receiving servers had no reliable way to verify whether a message genuinely originated from the domain it claimed. Today, the three authentication standards work together to verify sender identity. Google and Yahoo now require all three for bulk senders — without them, your emails face increased filtering or outright rejection.

SPF — Sender Policy Framework

SPF answers the question: which servers are authorised to send email from this domain? It works by publishing a TXT record in DNS that lists approved sending sources. When a receiving server gets an email claiming to be from yourdomain.com, it checks your SPF record against the sending IP.

Example SPF record

v=spf1 include:_spf.yourprovider.com ~all

Breaking this down: v=spf1 identifies this as an SPF record. include: references the IP ranges your email provider maintains. ~all is a soft fail — messages from unlisted IPs are marked suspicious but not rejected. Use -all (hard fail) once you are certain all legitimate sending sources are listed.

Common SPF mistakes

  • Multiple SPF records: A domain can have only one SPF record. If you have two, receiving servers may reject both. Combine them: v=spf1 include:provider1.com include:provider2.com ~all
  • DNS lookup limit: SPF permits a maximum of 10 DNS lookups. Exceeding this causes a PermError that effectively means SPF fails. Audit your record if you use multiple sending services.
  • Forgetting subdomains: SPF on yourdomain.com does not automatically cover mail.yourdomain.com. Each subdomain used for sending needs its own record.

DKIM — DomainKeys Identified Mail

DKIM adds a cryptographic signature to every outgoing email. The sending server signs the message using a private key. The receiving server retrieves your public key from DNS and verifies the signature. If valid, the message has not been altered in transit and genuinely came from your domain.

Example DKIM record

selector1._domainkey.yourdomain.com  TXT  "v=DKIM1; k=rsa; p=MIGfMA0GCS..."

The selector (here: selector1) is a label chosen by your provider. It allows multiple DKIM keys on the same domain — useful when you use more than one email platform. Your provider generates the key pair and gives you the exact record to add.

Common DKIM mistakes

  • Not rotating keys: DKIM keys should be rotated periodically. Many providers handle this automatically. If yours does not, set a reminder to rotate annually.
  • Record propagation delay: DNS changes can take up to 48 hours to propagate globally. Verify the record has propagated before testing deliverability.
  • Wrong selector in provider settings: If the selector in your provider dashboard does not match the DNS record label, DKIM will fail silently.

DMARC — Domain-based Message Authentication, Reporting and Conformance

DMARC is the policy layer that tells receiving servers what to do when authentication fails — and sends you reports on who is sending email from your domain. It ties SPF and DKIM together and adds visibility you cannot get from either standard alone.

Example DMARC record

_dmarc.yourdomain.com  TXT  "v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com"

DMARC policies

  • p=none — Monitor only. No action taken on failures. Use this first to understand your sending ecosystem before tightening the policy.
  • p=quarantine — Failed messages go to the spam folder. Use after reviewing a few weeks of reports to confirm all legitimate sending is authenticated.
  • p=reject — Failed messages are rejected outright. Use when you are confident all legitimate sending passes SPF or DKIM.

DMARC alignment

For DMARC to pass, the domain in either the SPF result or the DKIM signature must align with the From header domain. This is where many senders trip up when using a sending platform — if the platform signs DKIM using their own domain rather than yours, DMARC alignment fails even if DKIM is valid.

Common DMARC mistakes

  • No RUA address: Without an rua address, you receive no reports. You are flying blind.
  • Moving to p=reject too fast: If any legitimate sending source is not authenticated, p=reject will silently drop those messages. Always spend at least 2 weeks at p=none reviewing reports first.
  • Ignoring DMARC reports: The XML reports show you exactly which servers are sending from your domain and how they are performing against authentication. Reading them regularly is the only way to catch issues early.

Implementation checklist

  • Add SPF record with ~all to start
  • Verify SPF propagation using MXToolbox or similar
  • Enable DKIM via your email provider settings
  • Add the DKIM TXT record your provider generates
  • Verify DKIM propagation
  • Add DMARC at p=none with an rua address
  • Wait 1-2 weeks and review aggregate reports
  • Fix any legitimate senders failing authentication
  • Move to p=quarantine
  • Wait 2-4 weeks and confirm no regressions
  • Move to p=reject when confident

Verifying your setup

Use mail-tester.com to send a test and receive a score out of 10. Use MXToolbox to check individual records. Use Google Postmaster Tools to track authentication pass rates for Gmail recipients over time. NexusProMail monitors DKIM, SPF and DMARC for all verified sending domains and alerts you when any record becomes misconfigured.

Frequently asked questions

Do I need all three? Yes. SPF and DKIM without DMARC gives you no enforcement or reporting. DMARC without proper SPF and DKIM gives you enforcement with nothing to enforce. All three work together.

What is the difference between SPF alignment and DKIM alignment? SPF alignment checks whether the From domain matches the domain in the Return-Path (the envelope sender). DKIM alignment checks whether the From domain matches the d= domain in the DKIM signature. DMARC passes if either aligns.

What if I use multiple email providers? Each provider needs to be listed in SPF (within the 10 lookup limit) and should sign with DKIM using your domain. If a provider cannot sign DKIM with your domain, you may need to use a custom subdomain for sends from that provider.

Related reading

Email deliverability guideGDPR complianceTransactional email API

Start sending with NexusProMail

Launch email campaigns and transactional emails from one platform.

Start FreeView Pricing

Free plan · No credit card required · GDPR-compliant · Built in Finland

DMARC, DKIM, SPF: The Complete Setup Guide for Email Senders | NexusProMail