Get your API key
All DNS guides DNS setup

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:
check nameservers
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:

WhereTypeHostValuePriority
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 like mail.myapp.ai, the Hosts become mail, mail, mailkite._domainkey.mail, and _dmarc.mail.

Step by step

  1. Sign in at namecheap.com, open Domain List, and click Manage next to your domain.
  2. Open the Advanced DNS tab.
  3. Scroll to Mail Settings, switch the dropdown to Custom MX, and add mx.mailkite.dev with priority 10. (Switching away from "Email Forwarding" here removes Namecheap's forwarding — expected, MailKite takes over inbound.)
  4. Under Host Records, click Add New Record and add the three TXT records. The default Automatic TTL is fine.
  5. Click the green check to save each row.

Verify

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 a v=spf1 TXT, add include:mailkite.dev to it rather than adding a second one.
  • API users: setHosts replaces everything. Namecheap's namecheap.domains.dns.setHosts call overwrites all host records — fetch with getHosts and 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.