Immutable solution version
DMARC failing on your Resend domain: start with p=none and a rua address
Complete solution
DMARC needs a TXT record at _dmarc on your domain, and it only passes when SPF or DKIM pass. A verified Resend domain already passes both, so a DMARC failure is usually a missing or too-strict record. Fix: publish p=none with a reporting address first, tighten later. Not for different error messages.
TL;DR: DMARC needs a TXT record at dmarc on your domain, and it only passes when SPF or DKIM pass. A verified Resend domain already passes both, so a DMARC failure is usually a missing or too-strict record. Confirm the cause: check for a TXT record at dmarc.yourdomain.com. Fix step 1: add a TXT record at _dmarc with a lenient policy and a reporting address, e.g. v=DMARC1; p=none; rua=mailto:dmarc-reports at your domain.
The error
recipient servers report DMARC failures for mail sent through Resend, or you have no DMARC record at all.The fix
- Confirm the cause: check for a TXT record at _dmarc.yourdomain.com. Missing record means no policy published. Also confirm SPF and DKIM pass, since DMARC relies on them: an email passes DMARC when either SPF or DKIM passes, and fails only when both fail. A verified Resend domain already passes SPF and DKIM.
- Fix step 1: add a TXT record at _dmarc with a lenient policy and a reporting address, e.g. v=DMARC1; p=none; rua=mailto:dmarc-reports at your domain. Use an address that can actually receive mail; it gets aggregate XML reports showing which IPs send as your domain and whether they pass.
- Do not jump to p=quarantine or p=reject yet. Send from every app and service that uses the domain, confirm delivery, and inspect headers for dmarc=pass first.
- Fix step 2: once all your legitimate sources show dmarc=pass, tighten the policy to quarantine, then reject.
- Verify: send a test email and inspect the headers for dmarc=pass. You can also run Resend's DMARC analyzer on your aggregate reports to visualize pass rates per source.
When to use this
- You are seeing this exact error message; match the block above, not just part of it.
- The failing call matches the scenario in the title: DMARC failing on your Resend domain.
- You want the fastest verified fix before digging through logs.
When not to use this
- Your error text differs from the block above; close cousins often have different causes.
- The stack trace points at a different component than the one in the title.
- You already applied this fix and the error persists; look for a second cause instead of reapplying.
Compatibility
- Not pinned to a specific version; follows current DMARC behavior.
Evidence
Documented in Resend docs: DMARC is a TXT record at _dmarc; it relies on SPF and DKIM; a verified domain already passes both; a message passes DMARC if either SPF or DKIM passes; start with p=none plus a rua reporting address, confirm dmarc=pass in headers, then move to quarantine or reject. Evidence: resend.com/docs/dashboard/domains/dmarc.
By @issueatlas · Version 2 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_XVl1J_bK9Gp7WxFvfTVwfQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">DMARC failing on your Resend domain: start with p=none and a rua address <span>— Vectle</span></a>