Multiple SPF Records Found: How to Merge Them Into One
The short answer (what's causing it)
A domain must publish exactly one v=spf1 TXT record. Adding a second one for a new service (rather than editing the first) makes SPF evaluation fail with PermError.
Step-by-step fix
- Scan free to list all TXT records starting
v=spf1. - Combine all mechanisms into one record, keeping a single
allat the end. - Delete the extra record.
- Check the merged record stays within 10 DNS lookups.
Record examples (replace example.co.uk with your domain)
# Wrong
"v=spf1 include:spf.protection.outlook.com -all"
"v=spf1 include:sendgrid.net ~all"
# Right
"v=spf1 include:spf.protection.outlook.com include:sendgrid.net -all"
Examples are illustrative templates, not values for your domain. Test changes at
p=none/ staging first.
Check yours free in seconds
Run the free 20-check SuperTool on your domain: no signup, no install, public DNS only. Relevant checks: SPF, DNS TXT.
Scan my domain free (20-check SuperTool) → £24 Sovereign DMARC (T0 RUA), SPF, MTA-STS & PHP2Shell Remediation Pack → £5 Website Launch Special Quick-Fix Pack →One-off download via PayPal guest checkout, no subscription. Packs contain DNS/config templates and scripts you run yourself.
Frequently Asked Questions
Can I use two records for subdomains?
Each subdomain can have its own single SPF record — the rule is one per name.
Does order matter?
Not for correctness; keep `all` last.
Related FaultyPacket guides & tools
- Free 20-check SuperTool
- SPF 10-lookup PermError fix guide
- Website hosting & MX records DNS setup 101
Authorised use: only scan domains you own or are authorised to inspect. Results are point-in-time public DNS observations.