How to Check and Fix Email Deliverability
Use the email deliverability tester to check SPF, DKIM, and DMARC records. Understand what each result means and how to fix common issues.
How to Check and Fix Email Deliverability
If your emails are landing in spam, the most common causes are missing or misconfigured SPF, DKIM, or DMARC records. ElasticDomain's email deliverability tester checks all three in one scan.
Running a Deliverability Check
- Go to Tools → Email Deliverability Tester
- Enter your domain name (e.g.
example.com) - Enter your DKIM selector if you know it (check your email provider's settings - common values:
google,selector1,k1,mail) - Click Test
The scan checks your DNS records and returns results for SPF, DKIM, DMARC, and MX.
Understanding SPF
SPF (Sender Policy Framework) is a TXT record that lists which mail servers are authorized to send email from your domain.
A typical SPF record:
v=spf1 include:_spf.google.com include:sendgrid.net ~all
| Result | What It Means |
|---|---|
| ✅ SPF record found | TXT record exists at your domain root |
| ✅ Syntax valid | Record is correctly formatted |
| ⚠️ Too many DNS lookups | SPF is limited to 10 DNS lookups; you've exceeded that |
| ❌ No SPF record | You don't have one - add it |
| ❌ Syntax error | Record is malformed |
Fix: No SPF record
Add a TXT record to your domain root:
v=spf1 include:[your-email-provider] ~all
Common provider includes:
- Google Workspace:
include:_spf.google.com - Microsoft 365:
include:spf.protection.outlook.com - Mailchimp:
include:servers.mcsv.net - SendGrid:
include:sendgrid.net
Fix: Too many DNS lookups
Each include: in your SPF record can chain to more records, consuming your lookup budget. Use an SPF flattening service to convert all the nested include: statements into a flat list of IP ranges.
Understanding DKIM
DKIM (DomainKeys Identified Mail) adds a cryptographic signature to outgoing emails. The recipient's mail server verifies the signature using a public key stored in your DNS.
The public key lives at a subdomain in this format:
[selector]._domainkey.[yourdomain.com]
Example: google._domainkey.example.com
| Result | What It Means |
|---|---|
| ✅ DKIM record found | Public key exists in DNS |
| ✅ Key valid | Key is properly formatted |
| ✅ Key size ≥ 2048 bits | Strong key (1024-bit is acceptable but 2048-bit is recommended) |
| ❌ No DKIM record at selector | Wrong selector, or DKIM not enabled in your provider |
| ❌ Invalid key format | Key is malformed or truncated |
Fix: No DKIM record
DKIM is configured in your email provider, not directly in your DNS. Log in to your email provider (Google Workspace Admin Console, Microsoft 365 Admin Center, etc.) and find the DKIM settings. It will show you the TXT record to add to your DNS, including the selector name.
Understanding DMARC
DMARC (Domain-based Message Authentication, Reporting and Conformance) is a policy record that tells receiving mail servers what to do when an email fails SPF or DKIM checks.
DMARC lives at _dmarc.yourdomain.com as a TXT record.
A typical DMARC record:
v=DMARC1; p=quarantine; rua=mailto:[email protected]
| Policy | Effect on Failing Emails |
|---|---|
p=none |
Monitor only - failing emails delivered normally |
p=quarantine |
Failing emails go to spam folder |
p=reject |
Failing emails are rejected outright |
Fix: No DMARC record
Start with p=none to monitor without affecting delivery:
v=DMARC1; p=none; rua=mailto:[email protected]
After a few weeks reviewing reports (most providers offer DMARC report parsing tools), move to p=quarantine, then eventually p=reject.
MX Record Check
MX records tell other mail servers where to deliver email for your domain. The test verifies:
- At least one MX record exists
- MX hostnames resolve to valid IPs
- Multiple MX records with different priorities (redundancy)
Fix: No MX records
If you have no MX records, you can't receive email. Add MX records per your email provider's instructions.
The Scoring System
The tester produces a score out of 100:
| Check | Points |
|---|---|
| SPF record exists and valid | 25 |
| DKIM record found and valid | 25 |
| DMARC policy is quarantine or reject | 25 |
| DMARC reporting address configured | 10 |
| Multiple MX records (redundancy) | 15 |
A score below 75 means there's meaningful deliverability risk. Below 50 means emails likely land in spam regularly.