Step 1: Add Your Domain
- Dashboard
- Python
- Node.js
- Ruby
- Go
- cURL
- Go to Domains in your Ark dashboard
- Click Add Domain
- Enter your domain name (e.g.,
mail.yourdomain.com) - Copy the DNS records shown
Step 2: Configure DNS Records
Add three records to your DNS provider. Most providers auto-append your domain, so use thename field (not fullName).
Record
| Field | Value |
|---|---|
| Type | TXT |
| Name | Use name from API (e.g., mail for subdomains, @ for root) |
| Value | v=spf1 a mx include:spf.arkhq.io ~all |
| TTL | 3600 (or Auto) |
Record
| Field | Value |
|---|---|
| Type | TXT |
| Name | Use name from API (e.g., ark-abc123._domainkey.mail) |
| Value | The DKIM value from the API response (starts with k=rsa;t=s;p=...) |
| TTL | 3600 (or Auto) |
Return Path (CNAME)
| Field | Value |
|---|---|
| Type | CNAME |
| Name | Use name from API (e.g., psrp.mail) |
| Value | rp.arkhq.io |
| TTL | 3600 (or Auto) |
Step 3: Verify Your Domain
After adding DNS records, verify. Propagation usually takes a few minutes but can take up to 48 hours.- Dashboard
- Python
- Node.js
- cURL
Go to Domains and click Verify DNS records on your domain.
Once all three records show status
OK, you can send email from any address at your domain (e.g., hello@mail.yourdomain.com, support@mail.yourdomain.com).Optional: Configuration
DMARC tells receiving servers how to handle emails that fail SPF or DKIM authentication.| Field | Value |
|---|---|
| Type | TXT |
| Name | _dmarc.mail (or _dmarc for root domain) |
| Value | v=DMARC1; p=none; rua=mailto:dmarc@yourdomain.com |
p=none to monitor, then move to p=quarantine or p=reject once you’re confident in your configuration.
Provider-Specific Guides
Cloudflare
Vercel
Namecheap
Porkbun
Hetzner
Route 53
Google Cloud
GoDaddy
DigitalOcean
Netlify
Troubleshooting
Verification failing
Verification failing
- Check DNS propagation: Use dnschecker.org to verify records are visible globally
- Check record values: Ensure you copied the exact values from the API response
- Check record names: Use the
namefield, notfullName— most DNS providers auto-append your domain - Wait and retry: DNS can take up to 48 hours to propagate fully
SPF issues
SPF issues
- You can only have one SPF record per domain
- If you have multiple email services, combine them:
v=spf1 include:spf.arkhq.io include:_spf.google.com ~all - SPF has a 10 DNS lookup limit. Use SPF checker tools to verify
Subdomain vs root domain
Subdomain vs root domain
For subdomains like
mail.yourdomain.com:- SPF
name:mail(not@) - DKIM
name:ark-xyz._domainkey.mail - Return Path
name:psrp.mail
yourdomain.com:- SPF
name:@ - DKIM
name:ark-xyz._domainkey - Return Path
name:psrp
Next Steps
Send Your First Email
Test your verified domain with a real email
Tenant Domain Onboarding
Build domain setup flows for your customers
Deliverability Guide
Best practices for inbox placement
Tracking Setup
Track opens and clicks with a custom domain
