MailKite DNS on Namecheap
Namecheap supports every DNS record MailKite requires — one MX and three TXT records (SPF, DKIM, DMARC) — under Domain List → Manage → Advanced DNS. The one Namecheap quirk: the MX record isn't added with the other host records — it lives under Mail Settings, where you must first select Custom MX.
Before you start
- Add your domain in MailKite to get the exact record values — the DKIM key is unique per domain.
- Confirm the domain uses Namecheap DNS (BasicDNS or PremiumDNS). If the nameservers point elsewhere, add the records at that provider instead:
dig NS myapp.ai +short
# dns1.registrar-servers.com. ← Namecheap BasicDNS
# dns2.registrar-servers.com. The records, Namecheap-style
Namecheap's Host field takes only the host part —
@ for the root domain. Values below are for
myapp.ai:
| Where | Type | Host | Value | Priority |
|---|---|---|---|---|
| Mail Settings → Custom MX | MX | @ | mx.mailkite.dev | 10 |
| Host Records | TXT | @ | v=spf1 include:mailkite.dev ~all | — |
| Host Records | TXT | mailkite._domainkey | v=DKIM1; k=rsa; p=… (from your dashboard) | — |
| Host Records | TXT | _dmarc | v=DMARC1; p=none; | — |
For a subdomain likemail.myapp.ai, the Hosts becomemailkite._domainkey.mail, and_dmarc.mail.
Step by step
- Sign in at namecheap.com, open Domain List, and click Manage next to your domain.
- Open the Advanced DNS tab.
- Scroll to Mail Settings, switch the dropdown to Custom MX, and add
mx.mailkite.devwith priority10. (Switching away from "Email Forwarding" here removes Namecheap's forwarding — expected, MailKite takes over inbound.) - Under Host Records, click Add New Record and add the three TXT records. The default Automatic TTL is fine.
- Click the green check to save each row.
Verify
npx @mailkite/cli domains verify <domainId> --json
Namecheap changes typically propagate within 30 minutes, but
allow up to a few hours. The domain flips to verified once MX
resolves; re-run until SPF, DKIM, and DMARC are green too.
Namecheap gotchas
- MX won't appear under "Add New Record". The MX type is only available once Mail Settings is set to Custom MX — this is the #1 point of confusion.
- Custom MX replaces Email Forwarding. Namecheap's free forwarding requires its own MX hosts, so the two can't coexist. Recreate forwarding behavior with MailKite routes.
- One SPF record per name. If
@already has av=spf1TXT, addinclude:mailkite.devto it rather than adding a second one. - API users:
setHostsreplaces everything. Namecheap'snamecheap.domains.dns.setHostscall overwrites all host records — fetch withgetHostsand merge first, or use the dashboard.
FAQ
Does Namecheap allow the DNS records MailKite requires?
Yes. MX and TXT records are fully supported on Namecheap BasicDNS (free with every domain) and PremiumDNS. The only wrinkle is procedural: MX is added via the Custom MX option under Mail Settings.
Why can't I add an MX record on Namecheap?
Because the Mail Settings dropdown is set to Email Forwarding, Private Email, or a Gmail preset. Switch it to Custom MX and the MX entry fields appear.
How long does Namecheap DNS take to propagate?
Usually within 30 minutes; occasionally a few hours for global caches. Hit Verify again until all checks are green.
Next: receive your first message, or see the full Domains & DNS reference.