This guide shows a production-safe way to connect your domain to MailSlurp for sending and receiving email.

You will complete:

- domain registration (if needed),
- MailSlurp domain onboarding,
- DNS verification with TXT, MX, and DKIM records,
- inbox creation and catch-all behavior validation.

For API details, use [custom domains docs](/docs/custom-domains/).

## Before you start

- Use a root domain like `example.com` (not `https://example.com`).
- Confirm you can edit DNS records in your registrar.
- If this domain already has email service, plan MX migration carefully.

If existing production mailboxes depend on current MX records, perform a controlled cutover window.

## Step 1: Register or select a domain

Use any registrar that supports TXT, MX, and CNAME management.

![buy email domain](/assets/catch-all-email-domain/01_buy_email_domain.png)

## Step 2: Create a MailSlurp account

Sign up at [MailSlurp](https://app.mailslurp.com/sign-up/), then open **Domains** in the dashboard.

![domains](/assets/catch-all-email-domain/06_domains_index_ms.png)

## Step 3: Add your domain in MailSlurp

Click **New domain**, enter your domain, and submit.

![domains](/assets/catch-all-email-domain/07_create_domain_form_ms.png)

MailSlurp will generate DNS records specific to your account.

## Step 4: Copy DNS records from MailSlurp

These values are unique. Copy from your dashboard, do not reuse example values.

![domains](/assets/catch-all-email-domain/08_new_domain_records_ms.png)

## Step 5: Add DNS records at your registrar

![domains](/assets/catch-all-email-domain/09_host_domain_add_records.png)

### 5.1 Add verification TXT record

This proves domain ownership.

![domains](/assets/catch-all-email-domain/10_dns_add_txt_verification.png)

### 5.2 Add inbound MX record

This routes inbound mail to MailSlurp.

![domains](/assets/catch-all-email-domain/12_dns_mx_record.png)

If your registrar uses separate fields:

- If you encounter two fields enter `10` for `Priority` and `inbound-smtp.us-west-2.amazonaws.com` for the value.
- If only one field is given, use: `10 inbound-smtp.us-west-2.amazonaws.com`

### 5.3 Add DKIM CNAME records

DKIM is required for sender trust and better inbox placement.

![domains](/assets/catch-all-email-domain/11_dns_c_name_dkim.png)

## Step 6: Verify DNS and domain status

Use the domain testing widget in MailSlurp:

![tester](/assets/catch-all-email-domain/14_domain_tester_success.png)

When verified, your domain card shows a verified badge.

![verified](/assets/catch-all-email-domain/15_domain_verified.png)

MailSlurp can also create a wildcard/catch-all inbox. See [catch-all guide](/guides/catch-all-inbox-wildcards/).

## Step 7: Create custom inbox addresses

After verification, create inboxes like `support@yourdomain.com` or `qa+build123@yourdomain.com`.

![custom create](/assets/catch-all-email-domain/18_create_custom_inbox.png)

View the inbox and confirm receive/send behavior:

![custom view](/assets/catch-all-email-domain/19_view_custom_inbox.png)

## Production rollout checklist

- Verify TXT, MX, and DKIM are all green before launch.
- Send test messages to multiple mailbox providers.
- Validate SPF/DKIM/DMARC alignment on outbound traffic.
- Set monitoring for bounce and complaint trends.

For deliverability controls, see:

- [Email deliverability testing](/testing/email-deliverability-test/)
- [DMARC checker](/tools/dmarc-checker/)
- [SPF checker](/tools/spf-checker/)
