SPF on Namecheap: The Record You Cannot See in the Panel
Namecheap can publish an SPF record that never appears in its own DNS list. Add a second one on top and the domain stops passing SPF for anybody at all.

Namecheap configures an SPF record automatically for its own mail services and does not display it on the Advanced DNS page. Adding a second record for a sending platform leaves the domain with two, which returns a permerror under RFC 7208. Merge the new include into the existing record instead.
Key takeaways
- Namecheap documents that a domain on BasicDNS, FreeDNS or PremiumDNS with Private Email selected has its SPF record configured automatically and not shown in the DNS list, which is how a second record gets added on top of one nobody knew about.
- RFC 7208 section 3.2 forbids a domain from publishing multiple selectable SPF records, and section 4.5 states that more than one record makes the evaluation return permerror, so SPF contributes nothing and DMARC rests entirely on DKIM.
- Mechanisms listed after the all mechanism MUST be ignored, and a redirect modifier is ignored whenever an all mechanism is present regardless of ordering, so appending a new include to the end of a record authorises nothing.
- Namecheap's own consolidation article illustrates CIDR notation with ip4:192.168.1.0/38, which is outside the RFC 7208 grammar's stated 0 to 32 range for an IPv4 prefix length.
Reviewed and updated August 16, 2026
A domain bought at Namecheap for outbound can be publishing an SPF record that does not appear anywhere in the Namecheap DNS interface. Namecheap documents this itself, in the article about merging SPF records: if the domain uses BasicDNS, FreeDNS or PremiumDNS and has "Private Email" selected under Mail Settings on the Advanced DNS tab, "the SPF record is configured automatically. Thus, it won't be visible in the list of the DNS on the Advanced DNS page."
Add a second SPF record for your sending platform on top of that invisible one and the domain now publishes two. That is not a domain with two senders authorised. Under the specification it is a domain whose SPF evaluation fails outright, and nothing in the panel will tell you.
The one-record rule, and what breaking it actually does
Namecheap states the constraint plainly: "The specifications for SPF (Sender Policy Framework) require only one TXT record." RFC 7208 puts it as a requirement on the publisher, in section 3.2: "A domain name MUST NOT have multiple records that would cause an authorization check to select more than one record."
The consequence sits in section 4.5, and it is worth reading rather than paraphrasing, because "two records" sounds like a tidiness problem and is not: "If the resultant record set includes more than one record, check_host() produces the permerror result."
A permerror is not a soft failure. It is the evaluation abandoning the check before reaching any verdict about your sending IP, which means SPF contributes nothing at all. Any DMARC result on that domain now rests entirely on DKIM, so a signature problem that would otherwise have been survivable takes authentication to zero.
The fix is always the same shape. Merge the new sender into the record you already have rather than adding another, and if the existing record is the invisible Private Email one, create a new entry carrying the consolidated value.
- One record on the domain
- Both senders authorised
- The evaluation reaches a verdict
- A domain may publish only one SPF record
- Evaluation returns permerror
- SPF contributes nothing, for either sender
- Mechanisms listed after all MUST be ignored
- The record looks longer and authorises nothing new
- No error is reported anywhere
That third column is a specification rule rather than a convention, and RFC 7208 states it twice over: "Mechanisms after all will never be tested. Mechanisms listed after all MUST be ignored." It adds a clause almost nobody knows, which is that a redirect modifier "MUST be ignored when there is an all mechanism in the record, regardless of the relative ordering of the terms". So a record carrying both all and redirect discards the redirect no matter where it sits.
Which DNS you are actually editing

Namecheap runs several DNS products and the record goes in a different place depending on which one the domain uses. Its knowledge base article on adding TXT, SPF, DKIM and DMARC records, numbered 317, splits them: those records are added in the Namecheap account if the domain points to BasicDNS, PremiumDNS or FreeDNS, and where a domain is pointed at Namecheap Web Hosting DNS instead, the records are added in cPanel.
The path in the account interface is Domain List, then Manage next to the domain, then the Advanced DNS tab.
Two checks belong before any edit, and both are cheap.
Confirm the nameservers actually point at Namecheap. A domain registered at Namecheap and resolved by Cloudflare or a host has two panels, and only the one the nameservers name is live. Editing the wrong zone produces a record you can see and no receiver can, which presents exactly like having no record at all.
Confirm whether a Namecheap service is already generating a record for you. Article 317 notes that for services held with Namecheap the SPF record is added automatically, and the Private Email case above is the one where that automatic record is also invisible. This is the specific reason a Namecheap domain is more likely than a Cloudflare or GoDaddy domain to end up with two SPF records.
Reading Namecheap's own examples carefully
Namecheap's consolidation article is genuinely useful and its worked merges are correct. It walks through combining its Private Email record with a WordPress hosting record as v=spf1 include:spf.privateemail.com include:spf.easywp.com ~all, and combining Private Email with a Mimecast record that ends in a hard fail as v=spf1 include:spf.privateemail.com include:_netblocks.mimecast.com -all. Both merges are the right shape.
One example on that page is malformed, and it is worth naming because copying it produces a record that will not parse. The article illustrates CIDR notation with "v=spf1 ip4:192.168.1.0/38 ip6:1080::8:800:200C:417A/96 -all". RFC 7208 defines the grammar as ip4-cidr-length = "/" ("0" / %x31-39 0*1DIGIT) and annotates it "value range 0-32". A prefix length of 38 is outside that range, because an IPv4 address has only 32 bits to divide. The IPv6 half of the same example is fine, since ip6-cidr-length permits 0 to 128.
The general lesson is not about Namecheap. Every registrar's help centre carries example records, they are copied constantly, and a malformed one in a document that reads authoritatively is the most expensive kind of documentation defect, because the failure it produces is a permerror rather than an error message. Validate a record you are about to publish against the grammar rather than against the page it came from.
While you are checking, the qualifier at the end is the other thing worth a decision. RFC 7208 defines four: + for pass, - for fail, ~ for softfail and ? for neutral, with + as the default when none is written. Namecheap's own description of the two that matter matches Google's: ~all means receiving servers "typically accept messages from senders that aren't in your SPF record, but mark them as suspicious", and -all means they "may reject" such messages. Hard fail is a commitment that the record is complete, and most records are not complete on the day they are written.
- Yes: The domain's nameservers point at Namecheap, not at another host
- Yes: You have checked whether a Namecheap service is generating an invisible SPF record
- Yes: There is exactly one SPF record on the domain after the edit
- Yes: The new include sits in front of the all mechanism
- Yes: The expanded lookup count is still comfortably under ten
- No: A second SPF record was added because a vendor's instructions said to add one
- No: An example record was copied from a help centre without checking its syntax
The part that applies to a fleet of domains

Buying domains in bulk at a registrar is normal for outbound work, and Namecheap is one of the common places to do it. What breaks programmes is treating the SPF record as a template.
The primary company domain accumulates a sender every time a department buys software, so its record carries a CRM, a helpdesk, an invoicing tool and a marketing platform. Paste that record onto twenty new sending domains and every one of them inherits authorisations for services that will never send from it, along with every DNS lookup those includes consume. The ten-lookup ceiling that governs all of this, and how to count your way back under it, is in SPF records for cold email.
A purpose-built sending domain needs one include, for the platform that sends from it, and usually nothing else. Written that way its lookup count stays in single figures for its entire life, and no vendor's expansion of their own record can push it over.
The other reason to write each record for its own domain is that SPF authorises the envelope sender rather than the address a recipient sees. Getting SPF right is necessary and never sufficient, because DMARC grades whether the domain SPF passed for aligns with the visible From domain, and a record inherited from somewhere else can pass while aligning with nothing you intended.
Two more records belong on each of those domains alongside SPF. The Google Workspace side of the same job is in the Google Workspace SPF record, the registrar-panel version of the DKIM handoff is in DKIM on GoDaddy, and the DNS-host version of publishing a policy is in DMARC on Cloudflare.
We authenticate every sending domain before it carries a message and run one message per campaign, so a domain failing SPF does not get a second attempt at the same person under a different pretext. That is why a read-back of every record is part of launching rather than part of debugging, and why a domain with a problem is replaced rather than repaired mid-flight.
If you would rather not maintain DNS across a portfolio of registrar zones, we run the sending stack as part of the engagement.
The short version

Namecheap can publish an SPF record you cannot see, when a Namecheap mail service is selected on the Advanced DNS tab, and that invisible record is the reason a Namecheap domain so often ends up with two. A domain may publish only one, and two produces a permerror rather than a warning, which means SPF stops contributing to DMARC entirely.
Confirm the nameservers point at Namecheap before editing anything, check for an automatic record, merge new senders into the record that exists rather than adding another, and keep every new include in front of the all mechanism because everything after it is ignored by specification. Validate any example record against the grammar before publishing it, including the ones in registrar documentation. And write each sending domain's record for that domain rather than copying the primary domain's, which is how one company's accumulated senders become twenty domains' lookup problem.
Namecheap interface paths and documentation quotations verified as of August 2026 against Namecheap's published knowledge base articles 317 and 9736. Specification behaviour is per RFC 7208. Verify current interface steps with the provider before relying on them.
Sources: Consolidating several SPF records into one, Namecheap, RFC 7208
Frequently asked questions.
Frequently asked questions- Why can I not see my SPF record on the Advanced DNS page?
- Namecheap generates it for you. Its documentation states that a domain on BasicDNS, FreeDNS or PremiumDNS with Private Email selected under Mail Settings has the SPF record configured automatically, and that it will not be visible in the DNS list as a result. Adding a consolidated record as a new entry is the documented way to change it.
- What happens if a domain has two SPF records?
- Evaluation fails before reaching a verdict. RFC 7208 says a domain must not publish multiple selectable records, and that a set containing more than one makes check_host produce permerror. That is not a partial pass. SPF authorises nothing for either sender, and any DMARC result on the domain then depends entirely on DKIM.
- Can I just add a vendor's SPF record after my existing one?
- No, on two counts. A second record breaks evaluation outright. Appending the include to the end of the existing record after the all mechanism is equally useless, because RFC 7208 requires receivers to ignore every mechanism listed after all. Merge the new include in front of all, inside the single record the domain already publishes.
- Should a Namecheap sending domain use ~all or -all?
- Start on softfail. Namecheap describes ~all as receiving servers typically accepting unlisted senders while marking them suspicious, and -all as servers possibly rejecting them. Hard fail is a statement that the record is complete, which is rarely true on the day it is written. Tighten once DMARC reports confirm nothing legitimate is missing.
About the author.
Tim Carden is CMO / CTO at RevenueFlow, which builds and operates outbound revenue engines for B2B companies. Studied at McGill University.
Tim Carden · CMO / CTO
Connect on LinkedIn →Explore more.
Ready to scale your outreach?
We build GTM engines that book real meetings. See the receipts.
Related articles.
Multiple DKIM Records: Many Selectors Yes, Two Per Name Never
DKIM is not SPF. A domain can publish as many keys as it has signing platforms, and the rule it does have breaks quietly rather than loudly.
DMARC for Email: What the Check Does, and What a Pass Never Proves
DMARC needs one aligned pass, not two. What the standard checks, what the 2026 revision removed, and why enforcement protects your recipients rather than your delivery.
DMARC on Google Workspace: Read the Example Record as a Destination
Google publishes an example DMARC record with strict alignment and a tag the 2026 standard removed. It is what a finished rollout looks like, not a first record.
DKIM on Google Workspace: One Key Per Domain, Verified From Outside
Google holds the private key and your DNS host holds the public one. Between those two systems there is no error channel, which is why four failures look like nothing.
The GMass SMTP Test: What a Passing Connection Does Not Prove
GMass publishes a free SMTP connection tester that anyone can use. What its four stages separate, why the last one gets misdiagnosed, and where the tool's boundary is.
SMTP for Yahoo: The Settings Take a Minute, the Sender Requirements Do Not
Yahoo publishes its outgoing settings in six lines. It also publishes sender requirements enforced since February 2024, and refuses to name the volume that triggers them.