[SuperMailOS](/)

[Product](/#product)[Agents](/agents)[Pricing](/pricing)[Compare](/compare)[Tools](/tools)[Docs](/docs)

[Log in](/login)[Start free](/signup)

DocsSet up your domain’s DNS

Getting started

-   [Overview](/docs)
-   [Set up your domain’s DNS](/docs/dns-setup)
-   [Connect a mail app (IMAP/SMTP)](/docs/connect-mail-app)
-   [Migrate your existing mail](/docs/migrate)

Running your mail

-   [Deliverability & inbox placement](/docs/deliverability)
-   [Security: 2FA & sessions](/docs/security)

Developers

-   [API reference](/docs/api)
-   [Webhooks](/docs/webhooks)
-   [Connect your AI (MCP)](/docs/mcp)
-   [Agent inboxes](/docs/agents)

Resources

-   [Guides](/learn)
-   [Email checker](/tools/email-checker)
-   [System status](/status)
-   [Changelog](/changelog)

Getting started

-   [Overview](/docs)
-   [Set up your domain’s DNS](/docs/dns-setup)
-   [Connect a mail app (IMAP/SMTP)](/docs/connect-mail-app)
-   [Migrate your existing mail](/docs/migrate)

Running your mail

-   [Deliverability & inbox placement](/docs/deliverability)
-   [Security: 2FA & sessions](/docs/security)

Developers

-   [API reference](/docs/api)
-   [Webhooks](/docs/webhooks)
-   [Connect your AI (MCP)](/docs/mcp)
-   [Agent inboxes](/docs/agents)

Resources

-   [Guides](/learn)
-   [Email checker](/tools/email-checker)
-   [System status](/status)
-   [Changelog](/changelog)

[Home](/)[Docs](/docs)Set up your domain’s DNS

Domains

Copy page[.md](/docs/dns-setup.md "Open this page as Markdown")

# Set up your domain’s DNS

Updated 17 Oct 2026

On this page 6 sections

-   [Four steps, start to finish](#four-steps-start-to-finish)
-   [The records you’ll add](#the-records-youll-add)
-   [One-click, or copy-paste](#one-click-or-copy-paste)
-   [Then we verify — before you can send](#then-we-verify-before-you-can-send)
-   [From your AI assistant or your code](#from-your-ai-assistant-or-your-code)
-   [Common snags](#common-snags)

You bring a domain; SuperMailOS does the DNS. The exact records come from the mail server’s own zone — not a guessed template — so what you publish is what the server actually expects. You’ll either publish them with one click or copy-paste them, and we verify them live before anything can send.

## Four steps, start to finish

1.  **Add your domain**
    
    In SuperMailOS, add your domain. We read the mail server's own zone and generate the exact MX, SPF, DKIM and DMARC records for it.
    
2.  **Publish the records**
    
    One-click publish on a supported provider (Cloudflare, DigitalOcean, Linode, Vultr, Hetzner DNS or Spaceship), or copy-paste the records into any other DNS host.
    
3.  **Verify live**
    
    Watch the records verify in the app. An unverified domain can't send, which prevents misconfigured mail from ever going out.
    
4.  **Start sending**
    
    Once verified, DKIM signing, DMARC reporting and new-domain warm-up run automatically from the first message.
    

## The records you’ll add

| Record | What it does |
| --- | --- |
| MX | Routes inbound mail for your domain to our mail servers. |
| SPF (TXT) | Authorizes our sending infrastructure to send as your domain. |
| DKIM (TXT) ×2 | Publishes the public halves of your domain's two signing keys (one Ed25519, one RSA), so receivers can check our signature. |
| DMARC (TXT) | Sets the policy and points aggregate reports at us, so they're parsed into your dashboard. |

That’s the whole checklist: five records. The values are shown in the app, filled in for your domain. You never have to know a DKIM selector or hand-write an SPF string.

Example · acme.co 5 records

| Type | Host | Value |  |
| --- | --- | --- | --- |
| MX | @ | mail.supermailos.com (priority 10) |  |
| TXT | @ | v=spf1 mx ra=postmaster -all |  |
| TXT | v1-ed25519-20260704.\_domainkey | v=DKIM1; k=ed25519; h=sha256; p=… |  |
| TXT | v1-rsa-20260704.\_domainkey | v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA… |  |
| TXT | \_dmarc | v=DMARC1; p=reject; rua=mailto:dmarc@supermailos.com; ruf=mailto:dmarc@supermailos.com |  |

An illustration. DKIM selectors are date-stamped and the keys are unique to your domain — copy every value from the app.

## One-click, or copy-paste

On **Cloudflare, DigitalOcean, Linode, Vultr, Hetzner DNS and Spaceship**, SuperMailOS can publish every record for you with one click — you paste an API token, we create the records, and the token is used once and never stored. On registrars with closed APIs (GoDaddy, Namecheap, Squarespace), you copy each record into their DNS panel; the app shows exactly what goes where.

## Then we verify — before you can send

As you publish, the app checks each record live. A domain that hasn’t verified simply can’t send, which is the point: it stops half-configured mail from going out and damaging your reputation. Once green, DKIM signing, DMARC reporting and [new-domain warm-up](/docs/deliverability) begin automatically.

## From your AI assistant or your code

A workspace owner or admin can do all of this without opening the app. Ask an assistant connected to SuperMailOS ([Claude, ChatGPT and other MCP clients](/docs/mcp)) to add your domain: it gets back the records to publish, where your DNS is hosted and the next step, and can check the domain again once you’ve published them. From code, it’s `POST /api/v1/domains` with the domain’s name, then `POST /api/v1/domains/{id}/verify` or the `domain.verified` [webhook](/docs/webhooks) ([API reference](/docs/api)). Neither changes your DNS: you publish the records, by hand or with one-click setup above.

## Common snags

-   **An old MX still present.** Remove records pointing at a previous provider, or inbound mail splits between two systems.
-   **Two SPF records.** A domain may have only one SPF (TXT starting `v=spf1`); a second one makes both invalid. Merge into the single record the app shows.
-   **Propagation lag.** DNS changes can take time to appear depending on your TTLs. Re-run verification; it clears once the record is visible.

Want the theory behind each record first? The [complete guide to email DNS records](/learn/email-dns-records-guide) walks through the whole chain. Then [connect a mail app](/docs/connect-mail-app).

Was this page helpful?

YesNo

[← PreviousOverview](/docs)[Next →Connect a mail app (IMAP/SMTP)](/docs/connect-mail-app)

Stuck?

Write to [hello@supermailos.com](mailto:hello@supermailos.com). A person who can fix it reads every message.

[SuperMailOS](/)

Every domain you own, in one beautiful inbox. From $3 a mailbox.

Product

-   [Tour](/#product)
-   [Pricing](/pricing)
-   [Features](/features)
-   [Phone apps](/#iphone)
-   [Agent inboxes](/agents)
-   [MCP & API](/features/ai-agents)
-   [Changelog](/changelog)

Compare

-   [Google Workspace](/compare/google-workspace)
-   [Microsoft 365](/alternatives/microsoft-365-alternative)
-   [Zoho Mail](/compare/zoho)
-   [Fastmail](/compare/fastmail)
-   [AgentMail](/compare/agentmail)
-   [Cost calculator](/tools/email-cost-calculator)
-   [All comparisons](/compare)

Resources

-   [Docs](/docs)
-   [Developers](/docs/api)
-   [Learn](/learn)
-   [Use cases](/use-cases)
-   [Free tools](/tools)
-   [Glossary](/glossary)
-   [Status](/status)

Company

-   [About](/about)
-   [Contact](/contact)
-   [Brand](/brand)
-   [Privacy](/privacy)
-   [Terms](/terms)
-   [Refunds](/refund)
-   [Security](/security-policy)

More from Adee Labs

-   [SuperSplit](https://supersplit.app)Split expenses with friends
-   [SuperDiffs](https://www.superdiffs.com)AI code review for GitHub
-   [Image2Vector](https://image2vector.app)Image to SVG converter
-   [Adee Labs](https://adeelabs.com)Independent product studio

© 2026 SuperMailOS · Built by [Adee Labs](https://adeelabs.com)Every domain · one inbox