Skip to main content
By default, inboxes use @openmail.sh addresses. With a custom domain you can use any domain you own — for example agent@yourdomain.com.

How it works

  1. Add your domain in the dashboard
  2. OpenMail returns the DNS records you need to set
  3. Once DNS propagates, verify the domain
  4. Create inboxes on it by passing the domain when you create an inbox

Adding a domain

Go to Settings → Domains in the dashboard and click Add domain. Enter the domain you want to use (e.g. mail.acme.com).
You can use a subdomain like mail.acme.com or an apex domain like acme.com. A subdomain is generally easier to configure without affecting other email on your domain.
After adding your domain, OpenMail returns three DNS records to set at your registrar.

DNS records

TypeHostValue
MX@ (or your subdomain)mxa.mailgun.org (priority 10)
MX@ (or your subdomain)mxb.mailgun.org (priority 10)
TXT@ (or your subdomain)v=spf1 include:spf.openmail.sh ~all
TXTopenmail._domainkey (+ your subdomain)Provided by OpenMail
MX records route inbound email to OpenMail. SPF record authorises OpenMail to send on your domain’s behalf. If you already have an SPF record, add include:spf.openmail.sh to the existing record rather than creating a new one. DKIM record adds a cryptographic signature to outbound email, proving messages were sent by you. The value is unique to your account and provided after you add the domain. DNS changes typically propagate within minutes but can take up to 48 hours.

Verifying your domain

Once you’ve set your DNS records, click Verify in the dashboard. OpenMail checks all three record types and updates the domain status to verified. If verification fails, double-check each record at your registrar and try again. Common issues:
  • Existing MX records that weren’t replaced
  • SPF record merged incorrectly (only one v=spf1 per domain is allowed)
  • DKIM host copied without the subdomain suffix

Using your domain

Once a domain shows as Verified, it is ready to use — there is no separate activation step. Verifying the domain is what makes it available. Your account default domain never switches automatically. To create an inbox on your custom domain, choose it explicitly:
curl -X POST https://api.openmail.sh/v1/inboxes \
  -H "Authorization: Bearer $OPENMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mailboxName": "support",
    "domain": "yourdomain.com"
  }'
The resulting address uses your domain:
{mailboxName}@yourdomain.com
If you omit domain, the inbox is created on your account default domain (for example @openmail.sh). Passing a domain that is not verified, does not belong to your account, or is scoped to a different pod returns invalid_domain.

Pod scoping

Custom domains can be shared across your account or limited to a single pod:
ScopeMeaning
All podsAccount-wide. Any pod can create inboxes on this domain. New domains default here — unlike inboxes, they are not placed in the default pod unless you explicitly scope them.
One podOnly inboxes in that pod may use the domain. The domain lives under that pod in your account hierarchy.
When adding a domain in the dashboard, pick All pods or a specific pod. On a pod’s detail page, the Domains tab lists domains scoped to that pod; account-wide domains still appear when creating inboxes inside the pod. To move a scoped domain to another pod (or make it account-wide), reassign it in the dashboard. Narrowing scope is blocked while inboxes on that domain live outside the target pod.

Limits

Custom domains are available on the Developer plan and above.
PlanCustom domains
Free
Developer10
Launch150
EnterpriseCustom

Removing a domain

You can delete a custom domain from the dashboard as long as it has no inboxes. Delete the inboxes on that domain first, then remove the domain. Deleting a domain removes it from OpenMail but does not delete your DNS records — you can remove those from your registrar separately.