> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsa.finance/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom sending domain

> Authenticate your own domain so Corsa notification emails are sent from your brand instead of a shared Corsa address.

Use a custom sending domain when you want notification emails to come from your brand — for example, `support@yourcompany.com` instead of a shared Corsa address. Corsa authenticates your domain with DNS records so recipients see your domain in the **From** field and mail providers can verify the message.

<Info>
  Only **workspace owners** and **workspace support** users can view or change custom sending domain settings.
</Info>

***

## Before you start

You need:

* **Workspace owner** or **workspace support** access
* A domain or subdomain you control (for example, `mail.yourcompany.com`)
* Access to your DNS provider to add CNAME records

***

## Register a sending domain

<Steps>
  <Step title="Open configuration settings">
    Go to **Settings → Configuration** and scroll to **Custom Sending Domain**.
  </Step>

  <Step title="Add a domain">
    Click **Add domain**. Enter:

    * **Root domain** — the domain you authenticate with DNS (for example, `mail.yourcompany.com`)
    * **From email address** — the sender address for outbound mail (for example, `noreply@mail.yourcompany.com`)

    The from address must use the same domain you register. If you authenticate `mail.yourcompany.com`, use an address like `noreply@mail.yourcompany.com`.

    Click **Create domain**.
  </Step>

  <Step title="Add DNS records">
    Click **Show DNS** on the new domain. Corsa displays the records you must add to your DNS zone:

    | Record            | Purpose                                               |
    | ----------------- | ----------------------------------------------------- |
    | **Mail CNAME**    | Routes outbound mail through the authenticated domain |
    | **DKIM 1**        | First DKIM signing key                                |
    | **DKIM 2**        | Second DKIM signing key                               |
    | **Subdomain SPF** | SPF authorization for the sending subdomain           |

    Each record uses TTL **3600** and class **IN**. Corsa shows values in BIND-style format:

    ```text theme={null}
    name TTL IN TYPE rdata
    ```

    Use the **Copy** button on each row to copy the full record, or copy the pre-built **AWS Route 53 change batch** JSON if you manage DNS in Route 53.

    <Tip>
      DNS changes can take up to 48 hours to propagate. Most providers update within a few minutes to a few hours.
    </Tip>
  </Step>

  <Step title="Validate the domain">
    After you add the records, click **Validate**. Corsa checks each record with the mail provider.

    * **Verified** — all required records passed validation
    * **Pending DNS** — one or more records are missing or not yet visible

    If validation fails, expand **Show DNS** to see per-record status and error details, fix the records, and click **Validate** again.
  </Step>

  <Step title="Send a test email">
    After the domain shows **Verified**, click **Test**. Enter a recipient address and send a test message from your configured from address to confirm end-to-end delivery.
  </Step>
</Steps>

***

## Domain status

| Status          | Meaning                                                                                                          |
| --------------- | ---------------------------------------------------------------------------------------------------------------- |
| **Verified**    | DNS validation passed. Corsa can send mail from the configured from address.                                     |
| **Pending DNS** | One or more DNS records are missing, incorrect, or not yet propagated.                                           |
| **Default**     | The first domain you register is marked as default. Additional domains do not replace the default automatically. |

***

## Apply DNS with AWS Route 53

If your DNS is in Route 53, copy the **AWS Route 53 change batch** JSON from the domain details panel. Save it to a file and apply it with your hosted zone ID:

```bash theme={null}
aws route53 change-resource-record-sets \
  --hosted-zone-id your-hosted-zone-id \
  --change-batch file://change-batch.json
```

Replace `your-hosted-zone-id` with your Route 53 hosted zone ID.

***

## Manage domains

### Add another domain

Click **Add domain** to register additional sending domains. Each domain requires its own DNS setup and validation.

### Delete a domain

Click **Delete** on a domain to remove it from Corsa and the mail provider. Deleting a domain does **not** remove DNS records from your zone — clean those up manually if you no longer need them.

<Warning>
  Deleting a verified domain stops Corsa from sending mail from that from address. Notification emails fall back to the default Corsa sender until you configure and verify another domain.
</Warning>

***

## Troubleshooting

### Validation shows failed records

Open **Show DNS** and check the status column for each record. Common causes:

* The record was added to the wrong DNS zone (root domain instead of subdomain, or vice versa)
* A typo in the host name or target value
* DNS has not propagated yet — wait and click **Validate** again

### From address rejected when creating a domain

The from address must use the exact root domain you register. For domain `mail.yourcompany.com`, use `noreply@mail.yourcompany.com` — not `@yourcompany.com`.

### Domain already in use

Corsa rejects domains that are already registered on your workspace or that already have DKIM DNS configured for another mail account. Use a different subdomain or remove conflicting DNS records before retrying.

### Test email not received

Confirm the domain status is **Verified**, check the recipient spam folder, and verify your DNS records still match the values Corsa displayed.

***

## Related

* [Notification channels](/notifications/channels) — enable email as a notification channel for your workspace and users
* [Product security](/security/product-security) — authentication, access control, and audit logging
