DNS host · SPF

SPF record for Namecheap

How to add a SPF record when DNS or mail is at Namecheap. Real steps, then a live lookup.

Use Namecheap Advanced DNS. If you turned on PremiumDNS or pointed NS at Cloudflare, this panel is inert.

  1. Domain List > Manage > Advanced DNS > Add new record > TXT Record.
  2. Host @, value the v=spf1 string.

Official docs: Namecheap. Other records for this provider: SPF · DKIM · DMARC

Does this page apply to you?

Run this first. Namecheap only matters if it is where your DNS or mail actually lives.

dig +short NS yourdomain.com

Expect: Names ending in registrar-servers.com (BasicDNS or PremiumDNS). If you see something else, such as Cloudflare, the Advanced DNS panel at Namecheap is inert.

Specific to Namecheap

  • The panel is Domain List, Manage, Advanced DNS, Add new record, TXT Record. Use @ as the host.
  • Namecheap's own mail products add their own includes: Email Forwarding uses include:spf.efwd.registrar-servers.com and Private Email uses include:spf.privateemail.com. If you use either alongside a sequencer, merge them all into one record.
  • The Mail Settings dropdown on the same page (Email Forwarding, Custom MX, Private Email) can create or change records itself. Set that first, then edit the TXT.

What you should end up with

Illustrative values. Use the exact host and value your provider shows you where it generates them.

Type  Name  Value
TXT  @  v=spf1 include:_spf.google.com ~all

What the receiving server does with this record

On every incoming message the receiver reads the domain in the envelope sender (the Return-Path), fetches its TXT records, picks the one that starts v=spf1, and checks whether the sending IP is covered. It is a check on which servers may send for a domain, not on the visible From address; DMARC is what ties the two together.

Mistakes that break it

  • Two SPF records. A domain may have exactly one. Publish a second and SPF returns a permanent error, which receivers treat as a failure. Merge instead.
  • Over ten lookups. Each include costs a lookup plus whatever is inside it. See the SPF lookup limit.
  • A sender missing. Your sequencer, CRM and billing tool all send as your domain and each needs its include in this one record.
  • Wrong domain. SPF is not inherited by subdomains. If you send from mail.yourdomain.com, that name needs its own record.

Check it from the command line

Replace yourdomain.com and look for exactly one line that starts with "v=spf1:

dig +short TXT yourdomain.com

Check it live

Check the SPF record

Look up the live DNS after you save. This tool does not spend credits.

v=spf1 include:_spf.google.com ~all

Publish as a single TXT record on the apex. Never create two SPF records.

Related