> For the complete documentation index, see [llms.txt](https://docs.resifactory.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.resifactory.net/the-console/catch-all.md).

# Catch-all domains

A **catch-all domain** makes every address at a domain you own deliver into your inbox here. `anything@yourdomain.com`, `signup-042@yourdomain.com`, `whatever-you-just-made-up@yourdomain.com` — all of it arrives, without creating mailboxes in advance.

<figure><img src="/files/DAzmbI7PDrLwJIhjPGWi" alt="The catch-all domains list showing MX status per domain"><figcaption></figcaption></figure>

## What you need

* A domain you control.
* Access to its DNS to set an **MX record**.

## Adding a domain

**Add domain** walks you through it in three steps.

<figure><img src="/files/jIzQqxvyQy9QqHwMFdmR" alt="The add-domain wizard: domain, DNS record, verify"><figcaption></figcaption></figure>

### Step 1 — the domain

Type the domain, without any `@` or hostname: `example.com`.

### Step 2 — the DNS record

The wizard renders the exact record to create, each field with a copy button:

| Field        | Value                                                    |
| ------------ | -------------------------------------------------------- |
| **Type**     | `MX`                                                     |
| **Name**     | The domain itself. Many registrars use `@` for the root. |
| **Value**    | `mail.resifactory.net`                                   |
| **Priority** | `10`                                                     |

{% hint style="warning" %}
**Remove any other MX records on that domain.** MX records are a set — if the domain still points at another mail provider, delivery will split between them unpredictably. This should be the only MX record.
{% endhint %}

### Step 3 — verify

**Check MX** performs a live DNS lookup. DNS changes take anywhere from a minute to a few hours to propagate; you can add the domain before it resolves and it will start accepting the moment DNS catches up.

## The list

| Column     | What it shows                                                                                           |
| ---------- | ------------------------------------------------------------------------------------------------------- |
| **Domain** | The domain.                                                                                             |
| **Source** | `db` means you added it and can remove it. `env` means it is configured on the server and is read-only. |
| **MX**     | `✓ points here` or `✗ not set`. Hover for the actual records found.                                     |
| **Added**  | When it was added.                                                                                      |

A domain showing **✗ not set** is not receiving mail. Recheck the DNS record — usually the record is on the wrong name, or an old MX is still present.

## What happens to the mail

Mail to any address at the domain arrives like any other mail:

* It appears in the [Inbox](/the-console/inbox.md).
* It is served over [IMAP](/imap/imap.md) to your clients.
* It is grouped in [Signups](/the-console/signups.md) and read by [Orders](/the-console/orders.md).

Addresses are created on demand. You do not pre-register anything — use a new address and mail to it arrives.

## Why this is useful

* **Unlimited addresses.** A fresh address per signup, with no setup for each.
* **Addresses that mean something.** `nike-drop-03@yourdomain.com` tells you what it is for at a glance.
* **Your own domain.** Some services treat unfamiliar mail domains differently; your own domain is your own reputation.

## Removing a domain

**Remove** on a `db` row deletes it from the server.

{% hint style="info" %}
Existing mail and existing mailboxes stay. Only **new** mail to that domain is refused after removal. Deleting the MX record at your registrar does the same thing from the other end.
{% endhint %}

`env` rows cannot be removed here — they are part of the server's own configuration.

## Troubleshooting

<details>

<summary>MX shows ✗ not set after I created the record</summary>

* DNS propagation takes time. Wait and press **Check MX** again.
* Check the record is on the **root** of the domain (often `@`), not on a subdomain like `mail`.
* Check the value is exactly `mail.resifactory.net` — trailing dots are fine, a typo is not.
* Check no other MX records remain.

</details>

<details>

<summary>MX verifies but no mail arrives</summary>

* Send a test message to any address at the domain and watch the [Inbox](/the-console/inbox.md).
* Some senders cache MX lookups; give it a few minutes after DNS changes.
* Confirm the sending service is not silently rejecting a domain it does not recognise.

</details>

<details>

<summary>Can I use a subdomain?</summary>

Yes. Add `mail.example.com` as the domain and put the MX record on that subdomain. Addresses then look like `anything@mail.example.com`.

</details>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.resifactory.net/the-console/catch-all.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
