Launch offer: 50% off Pro on every one-time tool · ends Oct 25
Cosmovex/tools

Multiple SPF records error: why it breaks SPF and how to merge them

Multiple SPF records with MailAuth Doctor

The domain check reports when a domain publishes more than one SPF record and shows the exact text of each so you can merge them.

  1. Enter your domain and run the check.
  2. If more than one SPF record is reported, copy the includes and ip ranges from each.
  3. Create one record: v=spf1, all the mechanisms, then one ending.
  4. Delete the other SPF TXT records and check again.
multiple spf records more than one spf recordspf permerror multiple recordsmerge spf recordstwo spf txt records
Open MailAuth Doctor Free to start · no account

What to know

A domain may publish exactly one TXT record that begins with v=spf1. If there are two, RFC 7208 says receivers must return a permanent error, so SPF fails for all your mail. It usually happens when a second service's setup guide says "add this TXT record" and you add it next to the existing one.

To merge, take the mechanisms from each record (include, ip4, ip6, a, mx) and write them into a single record: v=spf1 include:first.example include:second.example ~all. Keep a single ending (all) at the very end; anything after all is ignored. Then count the lookups, because merging can push the total past 10.

After you delete the extra record, DNS caches may serve the old data until the TTL expires, so a re-check can briefly show both. Wait for the TTL (often 1 to 24 hours) before concluding that it did not work.

Updated · Cosmovex

Questions

Can a domain have two SPF records?

No. Two records that start with v=spf1 cause a permanent error and SPF stops working.

How do I add another sender to my SPF?

Add its include to the existing record. Do not create a second TXT record.

Does an SPF record on a subdomain count as a second one?

No. Each domain or subdomain can have its own single SPF record.

Why does the checker still show two records after I deleted one?

DNS caching. Wait for the record's TTL to expire and check again.

The free plan covers everything on this page. MailAuth Doctor Pro ($7/mo, billed monthly) is described on the MailAuth Doctor page.