Skip to content

Wildcard Domains & DNS Setup

EmBoux supports wildcard domains — configure DNS once for your parent domain, and every subdomain you create will work automatically without additional DNS changes.

Use wildcard if you plan to create subdomains under a single parent domain. For example:

  • ganemo.com (parent, wildcard)
  • client1.ganemo.com (subdomain — inherits DNS & SES)
  • client2.ganemo.com (subdomain — inherits DNS & SES)

When creating a domain via the API or portal, mark it as wildcard:

Terminal window
curl -X POST https://api.emboux.com/domains/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "ganemo.com"}'

Then set it as wildcard (master token only):

Terminal window
curl -X PUT https://api.emboux.com/domains/ganemo.com/parent \
-H "Authorization: Bearer YOUR_MASTER_KEY" \
-H "Content-Type: application/json" \
-d '{"is_wildcard": true}'

In the Odoo portal, simply check “I will create subdomains (wildcard)” when adding the domain.

For wildcard domains, use * entries so all subdomains are covered:

TypeNameValue
MX*.ganemo.commail.emboux.com (Priority: 10)
TXT*.ganemo.comv=spf1 include:amazonses.com include:emboux.com ~all
TXT*._dmarc.ganemo.comv=DMARC1; p=quarantine; rua=mailto:[email protected]

After domain creation, SES verification is initiated automatically. You’ll receive tokens to configure:

TypeNameValue
TXT_amazonses.ganemo.com(your verification token)
CNAME{tok1}._domainkey.ganemo.com{tok1}.dkim.amazonses.com
CNAME{tok2}._domainkey.ganemo.com{tok2}.dkim.amazonses.com
CNAME{tok3}._domainkey.ganemo.com{tok3}.dkim.amazonses.com

The exact values are shown in your portal dashboard after domain creation.

Use the DNS check endpoint to verify your records are configured correctly:

Terminal window
curl https://api.emboux.com/domains/ganemo.com/dns-check \
-H "Authorization: Bearer YOUR_API_KEY"

Response:

{
"name": "ganemo.com",
"all_ok": true,
"records": [
{"record_type": "MX", "name": "ganemo.com", "expected": "mail.emboux.com", "status": "ok"},
{"record_type": "TXT", "name": "ganemo.com", "expected": "include:emboux.com", "status": "ok"},
{"record_type": "TXT", "name": "_amazonses.ganemo.com", "expected": "abc123", "status": "ok"},
{"record_type": "CNAME", "name": "tok1._domainkey.ganemo.com", "expected": "tok1.dkim.amazonses.com", "status": "ok"}
]
}

Each record shows ok, missing, or incorrect.

In the portal, use the “Verify my DNS” button for a visual checklist.

Once the parent is verified, create subdomains — they inherit DNS and SES automatically:

Terminal window
curl -X POST https://api.emboux.com/domains/ \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "client1.ganemo.com"}'

The API auto-detects that client1.ganemo.com is a subdomain of ganemo.com and:

  • Links it to the parent domain
  • Inherits outbound_tier and outbound_enforcement
  • Skips SES verification (inherits from parent)
  • No additional DNS configuration needed

SES verification is polled automatically every 2 hours. Once verified, outbound email is enabled. You can also check manually:

Terminal window
curl https://api.emboux.com/domains/ganemo.com/ses-status \
-H "Authorization: Bearer YOUR_API_KEY"
EndpointMethodDescriptionAuth
/domains/{name}/parentPUTSet parent_domain / is_wildcardMaster
/domains/{name}/dns-checkGETVerify DNS recordsAny
/domains/{name}/ses-verifyPOSTInitiate SES verificationMaster
/domains/{name}/ses-statusGETCheck SES verification statusAny