DKIM Verification Troubleshooting
This guide helps you diagnose and fix DKIM/SPF verification issues in PostBeagle.
How PostBeagle Authentication Works
PostBeagle sends and signs your mail on its own infrastructure (a self-hosted Postfix/Rspamd stack). Authentication relies on records published directly on your domain — there is no proxy or "white-label" DNS layer.
DKIM (DomainKeys Identified Mail)
PostBeagle generates a key pair for your domain. You publish the public key as a single
TXT record; PostBeagle holds the private key and signs your mail with it.
Name: s1._domainkey.yourdomain.com
Type: TXT
Value: v=DKIM1; k=rsa; p=<your public key>
PostBeagle verifies DKIM by resolving s1._domainkey.yourdomain.com and confirming the
TXT record contains your domain's public key.
SPF (Sender Policy Framework)
SPF authorizes PostBeagle's servers to send for your domain via an include:
v=spf1 include:spf.postbeagle.com ~all
PostBeagle verifies SPF by resolving your domain's TXT records and confirming one
contains include:spf.postbeagle.com.
A domain is marked verified only when both DKIM and SPF pass.
Common Issues
Issue 1: DNS Records Not Found
Symptoms:
- Verification shows "DNS records not found"
- Status shows ⏳ Pending for more than 24 hours
Causes:
- Records not added yet
- DNS propagation delay
- Wrong record type or name
- DNS provider issues
Solutions:
Step 1: Verify the records were added
Log in to your DNS provider and check:
- The DKIM record exists at
s1._domainkey.yourdomain.com - Its type is
TXT(not CNAME, not A) - The SPF
TXTrecord on your root domain containsinclude:spf.postbeagle.com - Values match the PostBeagle instructions exactly
Step 2: Check DNS propagation
# DKIM
dig s1._domainkey.yourdomain.com TXT
# SPF
dig yourdomain.com TXT
Expected DKIM output (abbreviated):
s1._domainkey.yourdomain.com. 3600 IN TXT "v=DKIM1; k=rsa; p=MIIBIjANBgkq..."
If no results: DNS hasn't propagated yet — wait and try again.
Step 3: Check the record name and type
Common mistakes:
❌ Wrong: s1._domainkey (missing domain)
✅ Correct: s1._domainkey.yourdomain.com
❌ Wrong: s1.domainkey.yourdomain.com (missing underscore)
✅ Correct: s1._domainkey.yourdomain.com
❌ Wrong: Type CNAME
✅ Correct: Type TXT
Step 4: Wait for propagation
DNS propagation is typically 1-2 hours and at most 24-48 hours. Lower TTLs (3600 or Auto) propagate faster. You can also clear your local DNS cache or query from another network.
Issue 2: DKIM Value Wrong or Truncated
Symptoms:
- The record is found but verification fails
- The public key looks shorter than what PostBeagle shows
Causes:
- The long public key was truncated when pasting
- A character was changed or a space/quote was added
- The DNS provider split or reformatted the value
Solutions:
- Use the copy button in PostBeagle — don't type the key manually
- Compare the full value, including the entire
p=...portion - Check provider formatting — some providers wrap long
TXTvalues in quotes or split them into chunks; that's usually fine, but make sure no characters were lost - Delete and re-create the record, then re-verify after propagation
To inspect the full value:
dig s1._domainkey.yourdomain.com TXT +short
Issue 3: SPF Not Detected
Symptoms:
- DKIM passes but verification still fails
- "SPF record does not contain include:spf.postbeagle.com"
Causes:
- The SPF record is missing
- You have two SPF records (only one is allowed — they must be merged)
- The include is misspelled
Solutions:
- Confirm a single SPF
TXTrecord exists on your root domain - Ensure it contains
include:spf.postbeagle.com - If you already had an SPF record, merge rather than add a second one:
v=spf1 include:_spf.google.com include:spf.postbeagle.com ~all
dig yourdomain.com TXT | grep spf1
Should return exactly one v=spf1 record.
Issue 4: Duplicate / Conflicting Records
Symptoms:
- Verification is inconsistent
- Multiple records with the same name
Cause: More than one record at s1._domainkey.yourdomain.com, or multiple SPF records,
causes conflicts.
Solution:
- Check for duplicates in your DNS provider
- Remove the extras so there is exactly one DKIM record and one SPF record
- Wait for the deletion to propagate, then re-verify
dig s1._domainkey.yourdomain.com TXT +short
Should return a single value.
Issue 5: DNS Provider Limitations
Symptoms:
- Can't add the record at the required name
- Subdomain restrictions
Solutions:
Option 1: Use a subdomain
Add mail.yourdomain.com as its own domain in PostBeagle and publish the records there.
Option 2: Use a more flexible DNS provider
Cloudflare (free), DNSimple, Namecheap, and others all support the records PostBeagle needs.
Option 3: Contact your provider
Ask them to add the TXT records for email authentication if their UI is restrictive.
Advanced Troubleshooting
Check DNS from Multiple Locations
# Google DNS
dig @8.8.8.8 s1._domainkey.yourdomain.com TXT
# Cloudflare DNS
dig @1.1.1.1 s1._domainkey.yourdomain.com TXT
# Your resolver
dig s1._domainkey.yourdomain.com TXT
Clear Your DNS Cache
Windows:
ipconfig /flushdns
Mac:
sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder
Linux:
sudo systemd-resolve --flush-caches
Test Email Authentication
Send a test email and check the headers:
- Send an email to yourself
- View the message source/headers
- Look for the DKIM signature:
DKIM-Signature: v=1; a=rsa-sha256; d=yourdomain.com; s=s1; - Check the authentication results:
Authentication-Results: dkim=pass; spf=pass
Use Online Tools
DNS / DKIM checkers:
Email testers:
A Note on DKIM Keys
Your DKIM key doesn't expire and there's no periodic "refresh" to perform — once your
records are verified, leave them in place. Because the public key lives directly in your
TXT record, the only time you'd change it is the rare case where a key has to be
re-issued, and PostBeagle will tell you if that's ever needed.
Getting Help
Before Contacting Support
Gather this information:
- Domain name
- DNS provider name
- Screenshots of the DNS records
- The error message from PostBeagle
- Output from the
digcommands above
Contact Support
Email: [email protected]
Include:
- Subject: "DKIM Verification Issue - [yourdomain.com]"
- All the information above
- What you've already tried
Response time: Usually within 24 hours
FAQ
How many DKIM records do I need?
One — a single TXT record at s1._domainkey.yourdomain.com.
Can I use a different DNS provider than my registrar?
Yes. Use any DNS provider; just point your registrar's nameservers at it.
What if I can't add the record at that name?
Use a subdomain or switch to a more flexible DNS provider.
Do I need to update DNS when keys "rotate"?
There's no automatic key rotation. Your records stay the same once verified.
Can I verify before DNS propagates?
No. DNS must propagate first — wait 1-24 hours after adding the records.
Why does verification work sometimes but not others?
Usually DNS propagation in progress, or duplicate/conflicting records.