DNS setup guides
Every MailKite domain needs the same four DNS records — one MX record and three TXT records (SPF, DKIM, DMARC). All are standard record types that every major DNS provider supports; only the dashboard clicks differ. Pick your provider below for exact, field-by-field instructions.
Guides by provider
| Provider | Notes |
|---|---|
| GoDaddy | World's largest registrar. Add records under Domain Settings → DNS. |
| Cloudflare | Most popular DNS host for developers. Watch for Email Routing owning your MX. |
| Namecheap | MX records live under Mail Settings → Custom MX, not Host Records. |
| Squarespace Domains | Home of former Google Domains. Add records under DNS → Custom Records. |
| Amazon Route 53 | AWS-hosted zones. TXT values are quoted; one record set per name + type. |
Using someone else? The records themselves are identical everywhere — Porkbun, Hostinger, IONOS, Vercel, DigitalOcean, and every other DNS host accept them the same way. The generic steps below cover any provider.
The four records
Names shown for myapp.ai — substitute your own domain. Copy the
exact values (including your per-domain DKIM key) from the dashboard or
POST /api/domains response.
| Type | Name | Value | Purpose |
|---|---|---|---|
MX | myapp.ai | mx.mailkite.dev (priority 10) | Receive |
TXT | myapp.ai | v=spf1 include:mailkite.dev ~all | SPF |
TXT | mailkite._domainkey.myapp.ai | v=DKIM1; k=rsa; p=… | DKIM |
TXT | _dmarc.myapp.ai | v=DMARC1; p=none; | DMARC |
Any provider in four steps
- Confirm who hosts your DNS. Records must be added wherever
your domain's nameservers point — which may not be your registrar.
Check with
dig NS yourdomain.com +short. - Add the four records in the provider's DNS manager. Most
dashboards want only the host part in the Name field (they append
your domain automatically) — so
@for the root andmailkite._domainkeyfor the DKIM record. - Merge SPF if one already exists. A name can only have
one
v=spf1record. If your domain already sends mail elsewhere, addinclude:mailkite.devto the existing record instead of creating a second one. - Verify. Hit Verify in the
dashboard or run
npx @mailkite/cli domains verify <domainId>. Propagation takes minutes to a few hours — re-run until everything is green.
Skip DNS entirely
Want to try MailKite without touching DNS? Claim a free MailKite subdomain — we host the DNS, so it's verified the instant you claim it. Or register a new domain from the dashboard and we provision the records automatically.
Next: Domains & DNS for the full domain lifecycle, or receive your first message.