No technical background needed. A DNS record is just a labelled line in your domain’s public directory stating a fact about it. For email you’re adding three lines, and Namecheap gives each the same fields. Learn the fields once and the rest is filling in boxes.
TXT vs CNAME, and “Host” vs “Value”
Two record types matter:
- A TXT record holds plain text. SPF and DMARC are both TXT records — the text is the policy.
- A CNAME record is a pointer that says “for this name, look at that other name instead.” Mail providers usually give DKIM as a CNAME so they can rotate the key without you editing DNS again.
Namecheap labels the two fields Host (name) and Value. The Host is where the record lives: @ means the root domain (example.com itself); anything else, like _dmarc, is a subdomain. The Value is what the record says.
1. Open Advanced DNS
Sign in at Namecheap, open Domain List from the left menu, click Manage next to your domain, then open the Advanced DNS tab. You’ll see a Host Records section with an Add New Record button. Namecheap’s official guidance for setting up mail records is here. Everything below happens in Host Records. (Note: this only works if your domain uses Namecheap BasicDNS/PremiumDNS — if the nameservers point elsewhere, you edit records there instead.)
2. Add the SPF record (a TXT at the root)
SPF lists the servers allowed to send mail as your domain. Click Add New Record and set:
- Type: TXT Record
- Host:
@(the root domain) - Value:
v=spf1 include:_spf.google.com ~all
Leave TTL on Automatic and click the green tick to save. Crucial rule: only one SPF record is allowed. If a TXT record starting v=spf1 already exists, edit it and merge the new include: rather than adding a second one. Build a clean string with the SPF Generator.
3. Add the DKIM record (usually a CNAME)
DKIM lets your provider sign each message. The provider gives you the exact record — commonly a CNAME at a selector. Click Add New Record and set:
- Type: CNAME Record
- Host: the selector, e.g.
selector1._domainkey - Value: the target your provider gave you, e.g.
selector1-example-com._domainkey.provider.com
The Namecheap gotcha: in Host, type only selector1._domainkey. Namecheap automatically appends .example.com, so typing the full selector1._domainkey.example.com produces a broken doubled name. Paste the provider’s external target into Value exactly as given (Namecheap does not append your domain to a CNAME’s Value — that’s a full external hostname). If your provider gave DKIM as a TXT record instead, add a TXT with the selector as Host and the long v=DKIM1; k=rsa; p=… string as Value. Verify later with the DKIM Checker.
4. Add the DMARC record (a TXT at _dmarc)
DMARC ties SPF and DKIM to the visible From address and tells inboxes what to do on failure. Click Add New Record and set:
- Type: TXT Record
- Host:
_dmarc(no domain suffix — Namecheap adds it) - Value:
v=DMARC1; p=none; rua=mailto:dmarc@example.com
Start with p=none to monitor without affecting delivery, and point rua= at a mailbox you check. Generate one with the DMARC Generator and validate it with the DMARC Checker. When ready to enforce, follow moving DMARC to reject safely.
Namecheap-specific gotchas
- Use
@for the root in Host — not a blank field and not your domain name. - Namecheap appends your domain to the Host. Type
_dmarc, not_dmarc.example.com. - Don’t leave “Email Forwarding” conflicting records. If Namecheap’s email forwarding added default MX/TXT entries you don’t use, they can clash — remove stale ones.
- One SPF record only. Merge, don’t duplicate.
Verify propagation
After saving, confirm the records are visible worldwide with the DNS Propagation Checker, then check each individually with the SPF Checker, DKIM Checker and DMARC Checker. To confirm all three together, run the Email Health Check.
For what each record does and how DMARC alignment decides a pass, read the complete SPF, DKIM & DMARC guide. Using a different registrar? See the equivalents for Cloudflare, GoDaddy, AWS Route 53, cPanel and Squarespace.