Resend domain verification failed. Here is what to check.
Resend marks a domain failed when it cannot detect the required DNS records within 72 hours of you adding them. Almost every case is one of: records at the wrong host, a registrar that strips the trailing dot, or a CNAME where a TXT record was expected.
Last checked October 12, 2026.
What Resend expects at the DNS host
- An SPF record (added as a TXT, or as a CNAME for domains created after August 2026) authorizing Resend to send on the domain's behalf.
- A DKIM record (TXT) so receiving servers can verify the message was not altered in transit.
- An MX record that Resend generates for the domain, used for bounce and complaint feedback, not for receiving regular mail.
Sources: Resend: Manage domains
What each status actually means
| Status | Meaning |
|---|---|
| not_started | The domain was added but verification has not been attempted yet. |
| pending | Resend is actively checking for the records. |
| verified | Every required record was found; the domain can send. |
| partially_verified | One capability (sending or receiving) is verified while the other is still pending, or one of two sending CNAMEs is verified. |
| partially_failed | The domain is verified but one feature is not. |
| failed | The records were not detected within 72 hours. |
| temporary_failure | A previously verified domain stopped resolving its records; Resend rechecks for 72 hours before marking it failed. |
Sources: Resend: Manage domains
Fixing a failed verification
Step 1
Re-read the record exactly as Resend shows it
Compare the host/name field character for character against what is in your DNS provider. A record added at @ instead of the subdomain Resend asked for, or vice versa, is the most common mismatch.
Step 2
Check for a registrar that rewrites or truncates TXT values
Some registrars split long TXT records or require quotes; if the value looks truncated in a DNS lookup tool, that is the registrar, not Resend.
Step 3
Re-trigger verification instead of waiting out a stale check
Once the records resolve correctly via a public DNS lookup, verifying again in the dashboard (or via the API) does not need another full 72-hour wait.
Sources: Resend: Manage domains
Scribase Mail
Scribase Mail answers the Resend REST API, including POST /domains/:id/verify, so a resend SDK integration points at a new base URL and key without a rewrite, if a clean switch is ever the simpler fix for a domain that will not cooperate.
Sources: Scribase Mail
Questions people ask
How long does Resend domain verification take?
Verification is checked continuously once records are in place; Resend marks a domain failed only if it cannot detect the records within 72 hours.
What does partially_verified mean?
One capability (usually sending) is verified while another (such as receiving, or a second sending CNAME) is still pending.
My domain was verified and now shows temporary_failure. Why?
A previously verified domain stopped resolving one of its required records (often after a DNS change elsewhere). Resend rechecks for 72 hours before marking it failed again.