Skip to content

Custom Domains

Custom domains are central to Mailiam’s professional approach - every email, form, and interaction uses YOUR domain, never ours.

With Mailiam, your custom domain becomes the foundation of your email infrastructure:

  • Professional branding: All emails come FROM your domain
  • Domain-based form endpoints: api.mailiam.dev/v1/yourdomain.com/send
  • Custom reply addresses: replies@yourdomain.com
  • SSL certificate management: Automatic HTTPS for your domain
  • DNS integration: Simple MX record setup
mailiam.config.yaml
domains:
mycompany.com:
forwarding:
"*@mycompany.com": "team@gmail.com"
forms:
contact:
template: "professional"
replies: true
settings:
branding: true
customSender: true
  1. Add domain to config and deploy:
Terminal window
mailiam init mycompany.com
mailiam push
  1. Mailiam provides DNS records:

    • MX records for email forwarding
    • TXT record for domain verification
    • CNAME records for form endpoints
  2. Update your DNS:

# MX Records (for email forwarding)
mycompany.com. MX 10 mx1.mailiam.dev.
mycompany.com. MX 20 mx2.mailiam.dev.
# TXT Record (for verification)
mycompany.com. TXT "mailiam-verify=abc123def456"
# CNAME (for API endpoints)
api.mycompany.com. CNAME api.mailiam.dev.
  1. Verify ownership:
Terminal window
mailiam domains verify mycompany.com

Once verified, your forms use your domain:

<!-- Your branded endpoint -->
<form action="https://api.mailiam.dev/v1/mycompany.com/send" method="POST">
<input type="email" name="email" required>
<textarea name="message" required></textarea>
<button type="submit">Send</button>
</form>
domains:
mycompany.com:
forms:
contact:
template: "support"
subject: "New Contact Form"
replies: true
newsletter:
template: "marketing"
subject: "Newsletter Signup"
listId: "main-newsletter"
support:
template: "technical"
subject: "Support Request"
priority: "high"

Each form gets its endpoint:

  • Contact: https://api.mailiam.dev/v1/mycompany.com/send?form=contact
  • Newsletter: https://api.mailiam.dev/v1/mycompany.com/send?form=newsletter
  • Support: https://api.mailiam.dev/v1/mycompany.com/send?form=support

All emails sent through Mailiam use your domain:

domains:
mycompany.com:
branding:
fromName: "MyCompany Team"
fromEmail: "noreply@mycompany.com"
replyTo: "support@mycompany.com"
templates:
footer: |
---
MyCompany Inc.
123 Business St, City, State
Unsubscribe: https://mycompany.com/unsubscribe

Create branded email templates:

domains:
mycompany.com:
templates:
contact:
subject: "Thank you for contacting {{ company }}"
html: |
<div style="font-family: Arial, sans-serif;">
<img src="https://mycompany.com/logo.png" alt="MyCompany" width="150">
<h2>Thanks for reaching out!</h2>
<p>Hi {{ name }},</p>
<p>We received your message and will get back to you within 24 hours.</p>
<div style="background: #f5f5f5; padding: 15px; border-left: 3px solid #007cba;">
<strong>Your message:</strong><br>
{{ message }}
</div>
<p>Best regards,<br>The MyCompany Team</p>
</div>
text: |
Thanks for reaching out!
Hi {{ name }},
We received your message: "{{ message }}"
We'll get back to you within 24 hours.
Best regards,
The MyCompany Team
domains:
mainsite.com:
forwarding:
"*@mainsite.com": "team@company.com"
forms:
contact:
template: "main"
blog.company.com:
forwarding:
"*@blog.company.com": "editorial@company.com"
forms:
subscription:
template: "blog"
listId: "blog-subscribers"
app.company.com:
forwarding:
"support@app.company.com": "app-support@company.com"
forms:
feedback:
template: "app"
priority: "high"

Each domain can have different configurations:

domains:
enterprise.com:
security:
spamProtection: "strict"
rateLimit: 50
requireRecaptcha: true
branding:
customSender: true
trackOpens: false # Privacy-focused
marketing.com:
security:
spamProtection: "normal"
rateLimit: 1000
branding:
trackOpens: true # Marketing analytics
trackClicks: true

Mailiam automatically provisions and renews SSL certificates for your domain endpoints:

  • Let’s Encrypt integration for free certificates
  • Automatic renewal 30 days before expiration
  • Multiple domain support with SAN certificates
  • Wildcard support for subdomain coverage
Terminal window
# Check certificate status
mailiam domains ssl-status mycompany.com
# Force certificate renewal
mailiam domains ssl-renew mycompany.com
# View certificate details
mailiam domains ssl-info mycompany.com

For complete integration, add these DNS records:

Terminal window
# Email forwarding (MX records)
mycompany.com. MX 10 mx1.mailiam.dev.
mycompany.com. MX 20 mx2.mailiam.dev.
# Domain verification (TXT record)
mycompany.com. TXT "mailiam-verify=your-verification-token"
# API endpoint (CNAME) - Optional but recommended
api.mycompany.com. CNAME api.mailiam.dev.
# SPF record for email deliverability
mycompany.com. TXT "v=spf1 include:_spf.mailiam.dev ~all"
# DKIM for email authentication (provided after verification)
default._domainkey.mycompany.com. CNAME default._domainkey.mailiam.dev.
Terminal window
# Check DNS propagation
mailiam domains check-dns mycompany.com
# Validate all records
mailiam domains validate mycompany.com
# Get recommended DNS settings
mailiam domains dns-config mycompany.com

Configure subdomains for different purposes:

domains:
# Main domain
company.com:
forwarding:
"*@company.com": "general@company.com"
# Support subdomain
support.company.com:
forwarding:
"*@support.company.com": "support-team@company.com"
forms:
ticket:
template: "support"
priority: "high"
# Marketing subdomain
marketing.company.com:
forms:
newsletter:
template: "marketing"
listId: "newsletter"
webinar:
template: "events"
listId: "webinar-signups"

Mailiam supports international domain names (IDN):

domains:
münchen.company.com: # German umlaut
forwarding:
"*@münchen.company.com": "germany@company.com"
企业.company.com: # Chinese characters
forwarding:
"*@企业.company.com": "china@company.com"

Your domain endpoints are deployed globally:

  • 150+ edge locations worldwide
  • Sub-100ms response times in most regions
  • Automatic failover between regions
  • Real-time health monitoring
domains:
mycompany.com:
performance:
cacheControl: "public, max-age=300" # 5-minute cache
compression: true # Enable gzip
http2: true # HTTP/2 support
prefetch: ["css", "js", "images"] # Resource prefetching
Terminal window
# List all domains
mailiam domains list
# Add a new domain
mailiam domains add mycompany.com
# Verify domain ownership
mailiam domains verify mycompany.com
# Check domain status
mailiam domains status mycompany.com
# Remove a domain
mailiam domains remove mycompany.com
Terminal window
# Show domain configuration
mailiam domains show mycompany.com
# Update domain settings
mailiam domains update mycompany.com --branding=true
# Test domain setup
mailiam domains test mycompany.com
  • DNS SEC validation when available
  • Certificate pinning for API endpoints
  • Domain ownership verification required
  • SPF/DKIM authentication for emails
domains:
secure.company.com:
security:
restrictedAccess: true
allowedOrigins:
- "https://company.com"
- "https://app.company.com"
apiKeyRequired: true
corsPolicy: "strict"
  1. Set up Mailiam domain without changing DNS
  2. Test thoroughly with Mailiam endpoints
  3. Gradually migrate MX records
  4. Monitor email delivery during transition
Terminal window
# Migration helper commands
mailiam migration plan mycompany.com
mailiam migration test mycompany.com
mailiam migration execute mycompany.com --phase=1
  • Domain ownership verified
  • DNS records updated
  • SSL certificates active
  • Email forwarding tested
  • Form endpoints working
  • Monitoring alerts set up

Domain verification failed:

Terminal window
# Check DNS propagation
dig TXT mycompany.com
mailiam domains check-dns mycompany.com

SSL certificate issues:

Terminal window
# Check certificate status
mailiam domains ssl-status mycompany.com
# View certificate logs
mailiam logs ssl mycompany.com --last 24h

Email delivery problems:

Terminal window
# Test email routing
mailiam domains test-email mycompany.com test@mycompany.com
# Check SPF/DKIM setup
mailiam domains check-auth mycompany.com
  1. Use subdomains for different services (api.domain.com, forms.domain.com)
  2. Set up SPF/DKIM immediately after domain verification
  3. Monitor certificate expiration with alerts
  4. Test thoroughly before switching DNS
  5. Keep DNS records documented for your team
  6. Use version control for domain configurations

Your domain is your brand - Mailiam ensures every email interaction reinforces your professional identity.