MailKite DNS on GoDaddy
GoDaddy supports every DNS record MailKite requires — one MX record and three TXT records (SPF, DKIM, DMARC), all standard types GoDaddy's DNS manager handles natively. You add them under Domain Portfolio → your domain → DNS → Add New Record. Setup takes about five minutes plus DNS propagation.
Before you start
- Add your domain in MailKite to get the exact record values — the DKIM key is unique per domain.
- Confirm GoDaddy actually hosts your DNS. Records only work here if the domain's nameservers point at GoDaddy:
dig NS myapp.ai +short
# ns51.domaincontrol.com. ← GoDaddy nameservers
# ns52.domaincontrol.com. If the nameservers point elsewhere (say, Cloudflare), add the records at that provider instead — see the other guides.
The records, GoDaddy-style
GoDaddy's Name field takes only the host part — it
appends your domain automatically. Use @ for the root domain.
Values below are for myapp.ai:
| Type | Name | Value | Priority | TTL |
|---|---|---|---|---|
MX | @ | mx.mailkite.dev | 10 | 1 hour |
TXT | @ | v=spf1 include:mailkite.dev ~all | — | 1 hour |
TXT | mailkite._domainkey | v=DKIM1; k=rsa; p=… (from your dashboard) | — | 1 hour |
TXT | _dmarc | v=DMARC1; p=none; | — | 1 hour |
Setting up a subdomain likemail.myapp.aion themyapp.aizone? Replace@withmailkite._domainkey.mail, and_dmarc.mail.
Step by step
- Sign in at godaddy.com and open Domain Portfolio (My Products → Domains).
- Select your domain, then open the DNS tab (or ⋮ → Manage DNS).
- Click Add New Record.
- Add each of the four records from the table above — pick the Type, paste the Name and Value, set Priority
10on the MX. The default 1-hour TTL is fine. - Save each record.
Verify
Back in MailKite, hit Verify on the domain in the dashboard, or from the CLI:
npx @mailkite/cli domains verify <domainId> --json
The domain flips to verified as soon as the MX record resolves.
GoDaddy changes usually propagate within an hour (matching
the record TTL), occasionally longer — re-run verify until all four checks
are green.
GoDaddy gotchas
- Don't paste the full domain into Name. GoDaddy appends it
for you — entering
_dmarc.myapp.aicreates_dmarc.myapp.ai.myapp.ai. Use_dmarc. - One SPF record per name. If
@already has av=spf1TXT (Microsoft 365, Google Workspace…), edit it and addinclude:mailkite.devbefore the~allinstead of adding a second SPF record. - Remove conflicting CNAMEs. DNS forbids a CNAME alongside
any other record at the same name — GoDaddy will refuse or the records
won't resolve. Delete the CNAME on that host first (common on
mailsubdomains, where GoDaddy templates often park one). - Long DKIM values are fine. GoDaddy's TXT field accepts the full DKIM public key — paste it as one string.
- The GoDaddy API is restricted. GoDaddy limits its DNS API to accounts with large domain portfolios, so for most accounts the dashboard is the way — the whole thing is four records.
FAQ
Does GoDaddy allow the DNS records MailKite requires?
Yes. MailKite needs one MX record and three TXT records — plain record types GoDaddy has always supported, the same ones used by Google Workspace or Microsoft 365. There is no GoDaddy limitation that affects MailKite setup.
How long does GoDaddy DNS take to propagate?
Typically under an hour (GoDaddy's default TTL). Worldwide propagation can occasionally take a few hours. MailKite re-checks every time you hit Verify.
Can I keep my existing email while adding MailKite?
MX records decide where a domain's mail is delivered, so point MailKite at a
subdomain (like mail.myapp.ai) to leave your
root domain's mailboxes untouched — and merge the SPF records as described
above.
Next: receive your first message, or see the full Domains & DNS reference.