Receiving emails are currently in private beta and only available to a limited
number of users. APIs might change before GA.To use the methods on this page, you must upgrade your Resend SDK:Join the waitlist if you’re interested in testing
this feature.
inbound.yourdomain.tld
.
Here’s how to receive emails using a new custom domain.
1. Add the DNS record
First, verify your domain. Receiving emails requires an extra MX record to work. You’ll need to add this record to your DNS provider.- Go to the Domains page
- Copy the MX record
- Paste the MX record into your domain’s DNS service

If you already have existing MX records for your domain, we recommend that you
create a subdomain (e.g.
inbound.yourdomain.tld
) and add the MX record
there. This way, you can use Resend for receiving emails without affecting
your existing email service. Note that you will not receive emails at Resend
if the required MX
record is not the lowest priority value for the domain.2. Configure webhooks
Next, create a new webhook endpoint to receive email events.- Go to the Webhooks page
- Click “Add Webhook”
- Enter the URL of your webhook endpoint
- Select the event type
email.received
- Click “Add”

3. Receive email events
In your application, create a new route that can acceptPOST
requests.
For example, here’s how you can add an API route in a Next.js application:
app/api/events/route.ts
Enabling receiving for an existing domain
If you already have a verified domain, you can enable receiving by using the toggle in the receiving section of the domain details page.
Creating a custom domain for receiving emails using the API
Besides creating a domain in the dashboard, you can also create a domain using the Create Domain API. For that, you must include thecapability
parameter, which can take send
, receive
, or send-and-receive
as values.
FAQ
What happens if I already have MX records for my domain?
What happens if I already have MX records for my domain?
If you already have existing MX records for your domain, we recommend that you
create a subdomain (e.g.
inbound.yourdomain.tld
) and add the MX record
there.That’s because emails will usually only be delivered to the MX record with the lowest
priority value. Therefore, if you add Resend’s MX record to your root domain alongside existing MX records,
it will either not receive any emails at all (if the existing MX records have a lower priority),
or it will interfere with your existing email service (if Resend’s MX record has a lower priority).I have already verified my domain for sending. Do I need to verify it again for receiving?
I have already verified my domain for sending. Do I need to verify it again for receiving?
No, you do not need to verify your entire domain again. If you already have a
verified domain for sending, you can simply enable receiving for that domain,
add the required MX record to your DNS provider, and click “I’ve added the record”
to start verifying only the MX record.