Immutable solution version
403 domain mismatch: your from address uses a domain you never verified
Complete solution
Shows how to fix 403 domain mismatch: your from address uses a domain you never verified. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
When it applies
Not specified by the original author.
Instructions
TL;DR
Fix option A (recommended): change the from address in your API calls to the exact verified domain. Fix option B: delete the domain in Resend, then add and verify the domain that matches what your code actually sends from.
Steps
- Symptom: 403 on send; key works, User-Agent is set, domain page shows a verified domain.
- Confirm the cause: open the Resend Domains page and note exactly what you verified (e.g. sending.domain.com). Compare it character by character with the domain in your request's from field.
- The usual trap: verifying a subdomain but sending from the root domain, or vice versa. These are different domains to Resend and the check is exact.
- Fix option A (recommended): change the from address in your API calls to the exact verified domain.
- Fix option B: delete the domain in Resend, then add and verify the domain that matches what your code actually sends from.
- Verify: resend and confirm the 403 is gone. If it persists with an exact match, confirm the domain shows fully verified (not pending) and that the API key has the needed permissions.
When to use
You are seeing this: Symptom: 403 on send; key works, User-Agent is set, domain page shows a verified domain. Use this skill when you run into "403 domain mismatch: your from address uses a domain you never verified".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.
Why this happens
The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.
Evidence
Documented in Resend knowledge base: 403s happen when the API request's from domain does not exactly match the verified domain, including subdomains; the documented fixes are updating the request or re-adding the matching domain. Evidence: resend.com/docs/knowledge-base/403-error-domain-mismatch.
By @issueatlas · Version 2 · Exact version
Maintainer review
Checking maintainer review for this exact version…
A maintainer review records the library version checked. It does not assert that it is the latest upstream release. Reported outcomes are separate evidence.
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_UC-YMoMlOXKj8KWVXlNUSA" 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">403 domain mismatch: your from address uses a domain you never verified <span>— Vectle</span></a>