A domain you control
Access to DNS settings at your registrar or DNS host is required.
Resend DNS Configuration Tutorial
Resend requires you to verify a domain you own before sending (and optionally receiving) email. This guide walks through the DNS records you need — DKIM, SPF, and receiving MX — using a real example configuration.
In short: add the domain in Resend → copy the DNS records from the Records tab → create them at your domain provider → wait for propagation → return to Resend to verify.
You must use a domain you own. Shared or free addresses (Gmail, Yahoo, etc.) cannot be verified with Resend.
Access to DNS settings at your registrar or DNS host is required.
Open the Domains page in the Resend dashboard to add and verify domains.
Plus propagation time (often minutes, occasionally up to 72 hours).
updates.example.com)
instead of the root domain to isolate reputation and clarify intent to recipients.
In the Resend dashboard, go to Domains.
Click to add a domain and enter the name (root or subdomain).
Example: projectread.com or
mail.projectread.com.
Resend generates the exact DNS records for that domain. Copy them from the dashboard — do not invent values.
For sending, Resend typically requires a DKIM record and
SPF records (often an MX + a TXT on a subdomain such as
send). If you enable receiving, an additional
MX on the root (or chosen host) is required.
The tables below use the real values provided for
projectread.com. Always copy the live values from your own Resend domain page.
| Type | Name / Host | Value | TTL |
|---|---|---|---|
TXT |
resend._domainkey |
p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCkgiNQBQyyapUWUYMRAjUVjS7Kmq+odM0/mXFXydo7+CqfV0Ven/1R9oh4Kam2Y1RER8JO12C4R9avz0A8KRMemzZ//EnjPSGmLAs+o0Go2NAnU5x6z3J8O+MgxJfICWzPYTqH4OENjbFQpy0o2x8Kg8SzFQNRa++iGSRjTJtdpwIDAQAB |
Auto |
DKIM signs outgoing messages so receivers can verify they were authorized by the domain owner. Paste the full value without truncation or extra spaces.
| Type | Name / Host | Value | Priority | TTL |
|---|---|---|---|---|
MX |
send |
feedback-smtp.us-east-1.amazonses.com |
10 | Auto |
TXT |
send |
v=spf1 include:amazonses.com ~all |
— | Auto |
SPF lists who is allowed to send mail for the domain. Resend often uses a dedicated
host (here send) with both an MX (for feedback/bounces)
and a TXT SPF policy. Both must match exactly for SPF to verify.
| Type | Name / Host | Value | Priority | TTL |
|---|---|---|---|---|
MX |
@(root / apex) |
inbound-smtp.us-east-1.amazonaws.com |
0 | Auto |
@projectread.com to Resend/AWS. If you already use
another mail provider (Google Workspace, Microsoft 365, etc.) on the same host, do not
replace their MX records without a clear plan — you may break existing inbound email.
CNAME
records instead of separate MX + TXT for SPF on domains created after certain dates.
Always follow the exact set shown in your Records tab.
Labels differ by registrar, but the process is the same:
Log in where DNS for the domain is hosted (Cloudflare, GoDaddy, Namecheap, Route 53, OVH, Aruba, etc.).
resend._domainkey, send, or @).If you use Cloudflare, set relevant records to DNS only (grey cloud), not proxied. Proxying can prevent verification.
Common providers
Open the domain in the dashboard and run verification (or wait for automatic checks).
Successful setups often verify within 15 minutes. In some cases it can take up to 72 hours. You can use Resend’s tools or public DNS checkers to confirm records are visible.
If records look correct but status stays pending after a long wait, use Restart verification in the Resend UI.
nslookup -type=TXT resend._domainkey.projectread.comnslookup -type=TXT send.projectread.comnslookup -type=MX send.projectread.com
Complete set of records as provided for this domain. Use only as a structural reference — always copy values from your Resend account for your own domain.
| Purpose | Type | Name | Value | Priority |
|---|---|---|---|---|
| DKIM | TXT | resend._domainkey |
p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCkgiNQBQyyapUWUYMRAjUVjS7Kmq+odM0/mXFXydo7+CqfV0Ven/1R9oh4Kam2Y1RER8JO12C4R9avz0A8KRMemzZ//EnjPSGmLAs+o0Go2NAnU5x6z3J8O+MgxJfICWzPYTqH4OENjbFQpy0o2x8Kg8SzFQNRa++iGSRjTJtdpwIDAQAB |
— |
| SPF (feedback) | MX | send |
feedback-smtp.us-east-1.amazonses.com |
10 |
| SPF (policy) | TXT | send |
v=spf1 include:amazonses.com ~all |
— |
| Receiving | MX | @ |
inbound-smtp.us-east-1.amazonaws.com |
0 |
After the domain is verified, Resend recommends implementing
DMARC
to strengthen authentication and improve deliverability.
A typical starting record is a TXT on _dmarc with a policy such as
p=none while you monitor reports, then tightening later.
Confirm every record matches Resend exactly (full DKIM value, correct host names, correct MX priority). Check public DNS with lookup tools. On Cloudflare, disable proxy (orange cloud) for verification records. After fixing, use Restart verification in Resend if needed. Full propagation can take up to 72 hours in rare cases.
That is normal. Copy the entire string. Do not truncate, do not add SPF text into the DKIM field, and avoid wrapping quotes unless your provider requires them for TXT.
Resend’s example uses SPF on the send host, which
does not replace a root SPF. Keep existing root SPF if other systems need it, and
still add the Resend-specific records exactly as shown.
Yes, if you point the same host that currently receives mail (often @)
to Resend’s inbound MX, mail will go to Resend instead of your previous provider.
Only enable receiving on a host you intend to use with Resend, or use a dedicated subdomain.
Newer domains may use CNAME-based SPF setup. Follow the Records tab for your domain; do not mix old and new styles.
Verified Domains · Add and verify a domain · Domain not verifying
Need the domain prepared for you? Contact Ontiscal.