The DNS records
Copy every value from the domain's Records tab. If you add a subdomain to Resend, the names sit under it, for example resend._domainkey.updates.
DKIM key
Type: TXT · Host: resend._domainkey
p=<public key from the Records tab>
Return path SPF on the send subdomain (not DKIM)
Type: TXT · Host: send
v=spf1 include:amazonses.com ~all
Paired with an MX record on send: priority 10, feedback-smtp.<region>.amazonses.com. Domains created after August 2026 may show two CNAMEs here instead.
DMARC policy (Resend's starting example)
Type: TXT · Host: _dmarc
v=DMARC1; p=none; rua=mailto:dmarcreports@example.com;
Use an address you can receive reports at. Resend suggests quarantine or reject once mail passes.
Set it up and turn on signing
- In the Resend dashboard, open Domains, click Add Domain, enter the domain and choose a region. Set a custom Return-Path under Advanced options now if you need one.
- From the Records tab, create the TXT record
resend._domainkey, plus the SPF records for the return path. Paste only the label if your DNS host appends the domain. - Wait for verification. Resend says it often takes 15 minutes and can take up to 72 hours; after that, use Restart verification.
- Once verified, add a DMARC record on
_dmarc, then optionally turn on tracking or enforced TLS.
DMARC alignment
A verified domain signs with d= set to the domain you added, which aligns with a From address at that domain or, under relaxed alignment, its parent. Resend says a verified domain already passes SPF and DKIM, and its return path is a subdomain too, so DMARC can pass through either check. Each subdomain you send from must be added and verified on its own.
Key length and rotation
Resend signs with 1024-bit keys and doesn't support 2048-bit ones. It says you can't change the key length, and it doesn't rotate or regenerate keys on request: the key created when you add a domain stays with it, even if you delete the domain and add it again to the same team. Resend points to RFC 8301, which sets 1024 bits as the minimum.
Common mistakes
- Extra quotes, spaces or a truncated value. Resend lists these as the usual DKIM mismatches; paste the whole value as generated.
- SPF text in the DKIM record. The
resend._domainkeyvalue holds only the key; SPF belongs on thesendsubdomain. - Records in the wrong DNS zone. If your domain's DNS is in several places, add them where the nameservers actually point.
- Deleting the domain to get a fresh key. Resend keeps the same key when a domain is re-added to that team.
Check your Resend DKIM key
The selector is filled in for you; add your domain. Free, reads public DNS only.
Frequently asked questions
What is Resend's DKIM selector?
resend. The record is a TXT record at resend._domainkey on the domain you added to Resend, for example resend._domainkey.updates.example.com for a subdomain.
Does Resend support 2048-bit DKIM keys?
No. Resend signs with 1024-bit keys, says you can't change the key length, and asks teams with a 2048-bit compliance requirement to contact it. RFC 8301 sets 1024 bits as the minimum signers should use.
Will deleting and re-adding my domain give me a new Resend DKIM key?
No. Resend says the key it creates when you add a domain stays with that domain, even after you delete and add it again to the same team, and it doesn't regenerate keys on request.
Sources
- Resend Docs: Add and verify a domain
- Resend Docs: Verify your domain on Cloudflare
- Resend Docs: Do you need 2048-bit DKIM?
- Resend Docs: What if my domain is not verifying?
- Resend Docs: Implementing DMARC
- RFC 6376: DomainKeys Identified Mail (DKIM) Signatures
- RFC 8301: Cryptographic Algorithm and Key Usage Update to DKIM
Checked against Resend's documentation on November 3, 2026. Providers change their setup screens; if yours differs, follow the values your admin console shows.
DKIM records for other providers
- Microsoft 365CNAME: selector1, selector2
- Google WorkspaceTXT: google
- Zoho MailTXT: you choose (e.g. zoho)
- GoDaddyCNAME: secureserver1, secureserver2
- FastmailCNAME: fm1, fm2, fm3
- Proton MailCNAME: protonmail, protonmail2, protonmail3
- iCloud MailCNAME: sig1
- HostingerCNAME: hostingermail-a, hostingermail-b, hostingermail-c
- Private EmailTXT: privateemail, default (bought before 2 June 2026)
- IONOSCNAME: s1-ionos, s2-ionos, s42582890
- Rackspace EmailTXT: shown in the Cloud Office Control Panel
- Amazon SESCNAME or TXT: <token1>, <token2>, <token3> (Easy DKIM), your own (BYODKIM)
- SendGridCNAME or TXT: s1, s2
- MailgunTXT or CNAME: assigned by Mailgun (e.g. pic, krs, smtp), pdk1, pdk2 (Automatic Sender Security)
- PostmarkTXT: <timestamp>pm (e.g. 20131031155228pm)
- MailjetTXT: mailjet
- SMTP2GOCNAME: shown in SMTP2GO for your domain
- SparkPostTXT: scph<number> (generated, e.g. scph0316), your own (API)
- Elastic EmailTXT: api
- MailerSendCNAME: ms1, ms2
- MailchimpCNAME: k2 and a second CNAME (Marketing), mte1, mte2 (Transactional)
- BrevoTXT or CNAME: mail (TXT), 2 CNAMEs from your account
- HubSpotCNAME: hs1-<number>, hs2-<number>
- KlaviyoCNAME: km1, km2 (marketing), kt1, kt2 (transactional), ks1, ks2 (service)
- ActiveCampaignCNAME: acdkim1, acdkim2
- Constant ContactCNAME or TXT: ctct1, ctct2 (CNAME), generated per key (TXT)
- SquarespaceCNAME: squarespace
- Dynamics 365 Customer InsightsCNAME: CNAME1 and CNAME2 from the wizard (e.g. namkey1)
- MailerLiteCNAME: litesrv
- Campaign MonitorTXT: cm, your own (existing keys)
- KitCNAME: cka
- MarketoTXT: chosen by you in Marketo
- Account Engagement (Pardot)TXT: shown in Expected DNS Entries
- Customer.ioTXT: cio
- Zoho CampaignsTXT: numbered per account (e.g. 2232)
- SalesforceCNAME: you choose two (e.g. example-sf-a, example-sf-b)
- ZendeskCNAME: zendesk1, zendesk2
- Help ScoutCNAME: strong1, strong2
- IntercomCNAME: intercom
- OdooCNAME: odoo
Compare every provider's selectors in one table · SPF record for Resend
Related guides
How to find a domain's DKIM selector, and check its key
Find a DKIM selector from the s= tag in an email header, see the selectors Microsoft 365, Google Workspace and common senders use, then check the key.
8 min read SPF, DKIM & DMARCHow to rotate DKIM keys without breaking email
How often to rotate DKIM keys, which key length to use, how to name selectors, and how to rotate in Microsoft 365, Google Workspace and on your own server.
9 min read SPF, DKIM & DMARCDKIM "body hash did not verify" and other DKIM failures: causes and fixes
Fix DKIM failures: body hash did not verify, signature did not verify, no key for signature and short keys. Causes from mailing lists to broken TXT records.
9 min readLast updated