🔐 Authentication Guide

DKIM, SPF & DMARC Setup:
Step-by-Step for Cold Email

Configure all three email authentication records correctly — in under 15 minutes — and permanently improve your inbox placement. No technical background required.

📅 Updated June 2026
⏱ 12 min read
👤 Priya Mehta, Technical Lead
⏰ Setup takes ~10 min
Why Email Authentication Is Non-Negotiable

In 2024, Google and Yahoo issued a joint mandate: senders who send more than 5,000 emails/day must have SPF, DKIM, and DMARC configured or their emails will be rejected. But even for smaller senders, these records are critical.

Without authentication, ISPs have no way to verify that emails claiming to come from your domain actually do. Spammers regularly forge sender addresses — so inbox providers have learned to distrust unauthenticated email by default.

💡
The impact is real: In our analysis of 10,000 TuruMail accounts, those with all three authentication records configured see 34% higher inbox placement rates on average compared to those with only SPF configured.
RecordWhat It DoesWho Checks ItPriority
SPFAuthorizes which IP addresses can send email for your domainEvery receiving mail serverRequired
DKIMCryptographically signs outgoing email to prove it wasn't tampered withGmail, Outlook, Yahoo — all major ISPsRequired
DMARCPolicy that ties SPF and DKIM together and tells ISPs what to do with failuresGmail, Outlook, Yahoo — enforced for bulk sendersStrongly Recommended
BIMIDisplays your brand logo in supported inboxes (Gmail, Yahoo)Gmail, Apple Mail, YahooOptional
Step 1: Configure Your SPF Record

SPF (Sender Policy Framework) is a DNS TXT record that lists every IP address authorized to send email on behalf of your domain. When a receiving mail server gets a message from you, it checks your DNS to see if the sending IP is on the list.

Basic SPF Record Format

DNS TXT Record — SPF
yourdomain.com TXT 3600 v=spf1 include:smtp.turumail.com ip4:YOUR_IP_ADDRESS ~all

SPF Mechanisms Explained

  • v=spf1 — Declares this is an SPF record (always the first tag)
  • include:smtp.turumail.com — Authorizes TuruMail's sending IPs
  • ip4:1.2.3.4 — Directly authorize a specific IP address
  • ~all — Soft fail for IPs not on the list (recommended for initial setup)
  • -all — Hard fail for IPs not on the list (use after DMARC is proven working)
⚠️
SPF Lookup Limit: SPF records have a 10 DNS lookup limit. If you use too many include: statements (multiple ESPs, Google Workspace, etc.), you'll exceed this limit and cause SPF failures. Use our SPF flattening tool to stay under the limit.
Step 2: Generate and Publish Your DKIM Key

DKIM (DomainKeys Identified Mail) uses public-key cryptography. TuruMail generates a private/public key pair. The private key stays on our servers and signs every outgoing email. The public key goes in your DNS so receiving servers can verify the signature.

How to Generate Your DKIM Key in TuruMail

1
Navigate to Authentication Settings

In your TuruMail dashboard, go to Settings → Domain Authentication → DKIM Keys. If you haven't added a domain yet, click "Add Sending Domain" first and enter your domain name.

2
Generate a 2048-bit DKIM Key Pair

Click "Generate New DKIM Key". Select 2048-bit (not 1024-bit — longer keys are required by most enterprise mail servers in 2026). TuruMail will generate a unique key pair and show you the public key value to add to DNS.

3
Add the DKIM TXT Record to Your DNS

Copy the DNS record values from TuruMail and add them to your domain's DNS provider (Cloudflare, GoDaddy, Namecheap, AWS Route 53, etc.). The record format is:

DNS TXT Record — DKIM Public Key
turumail._domainkey.yourdomain.com TXT 3600 v=DKIM1; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA... (your public key)

The turumail._domainkey part is the DKIM selector — TuruMail sets this automatically. If you use multiple sending services, each gets a unique selector.

4
Wait for DNS Propagation (5–60 minutes)

DNS changes typically propagate within 5–30 minutes, though it can take up to 48 hours in rare cases. In your TuruMail dashboard, click "Verify DKIM" to check if the record has propagated correctly. You'll see a green checkmark when it's live.

Step 3: Publish Your DMARC Policy

DMARC (Domain-based Message Authentication, Reporting & Conformance) tells inbox providers what to do when an email fails SPF or DKIM alignment — and sends you reports so you can monitor spoofing attempts.

Start with a Monitoring Policy

Always start with p=none (monitoring only) and only upgrade to p=quarantine or p=reject after 2–4 weeks of reviewing your DMARC reports.

DNS TXT Record — DMARC (Phase 1: Monitor)
_dmarc.yourdomain.com TXT 3600 v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com; ruf=mailto:dmarc@yourdomain.com; fo=1;

DMARC Policy Progression

  • Phase 1 (Weeks 1–4): p=none — Monitor only. All emails pass regardless of authentication result. Review daily DMARC reports.
  • Phase 2 (Weeks 4–8): p=quarantine; pct=25 — Quarantine 25% of failing emails. Increase percentage weekly as you verify legitimate sources.
  • Phase 3 (After 8 weeks): p=reject — Reject all failing emails. Maximum domain protection. Required for BIMI.
TuruMail DMARC Reports: When you configure the rua tag to send reports to TuruMail (use rua=mailto:dmarc-reports@turumail.com,mailto:your@email.com), we automatically parse, visualize, and alert you to suspicious sources in your TuruMail dashboard.
Step 4: Verify Your Authentication Setup

After adding all three records, verify they're working correctly using these tools and methods:

🔍 Check SPF Record
Use nslookup or dig to query your TXT records and confirm the SPF syntax is correct:
nslookup -type=TXT yourdomain.com
🔑 Check DKIM Record
Verify the DKIM public key is published and has the correct format:
nslookup -type=TXT turumail._domainkey.yourdomain.com
📋 Check DMARC Record
Confirm DMARC is published and the policy tag is correct:
nslookup -type=TXT _dmarc.yourdomain.com
📧 Send a Test Email
Send to a Gmail or Outlook account and check the "Show Original" headers — look for:
dkim=pass spf=pass dmarc=pass
💡
One-click verification in TuruMail: Go to Settings → Domain Authentication. TuruMail runs a live DNS check on all three records and displays a color-coded status (green = pass, red = fail) with a specific error message if something is misconfigured.
Common Authentication Failures & How to Fix Them

SPF: "PermError — too many DNS lookups"

Cause: Your SPF record has more than 10 DNS lookup mechanisms (include:, a:, mx:). Fix: Use our SPF flattening tool to replace nested includes with raw IP addresses, reducing lookup count to under 10.

DKIM: "signature verification failed"

Cause: Usually means the public key in DNS doesn't match the private key TuruMail is using to sign — this happens if you regenerated keys without updating DNS. Fix: Generate a new key pair in TuruMail and update the DNS record. Allow 30 min for propagation.

DMARC: "dmarc=fail (p=none sp=none dis=none)"

Cause: SPF and DKIM are passing but the "From" domain doesn't align with either. DMARC requires alignment (the From domain must match the SPF or DKIM domain). Fix: Ensure your TuruMail sending domain exactly matches your From address domain.

Emails still going to spam after authentication

Authentication is necessary but not sufficient for inbox placement. If all three records pass but you're still hitting spam, the issue is likely your IP reputation, content triggers, or list quality. Start with our Spam Testing Guide and IP Warmup Guide.

Authentication Set Up in Minutes, Not Hours

TuruMail generates your DKIM keys, guides you through DNS setup, and verifies everything — no technical expertise required.

Start Free Trial → Book a Demo