Skip to content

Email Forwarding

Email forwarding is one of mailiam’s three core features, allowing you to route emails with sophisticated custom rules and patterns.

Transform your domain into a complete email infrastructure without managing mail servers. mailiam’s email forwarding supports:

  • Catch-all forwarding (*@domain.com)
  • Plus addressing (user+tag@domain.com)
  • Custom routing rules with pattern matching
  • Multi-destination forwarding
  • Zero-downtime migration from existing email providers

Route all emails to your main inbox:

mailiam.config.yaml
domains:
mysite.com:
forwarding:
"*@mysite.com": "me@gmail.com"

Route specific addresses to different destinations:

domains:
mysite.com:
forwarding:
"support@mysite.com": "support-team@company.com"
"billing@mysite.com": "billing@company.com"
"sales@mysite.com": "sales-team@company.com"
"*@mysite.com": "me@gmail.com" # Catch remaining

Send emails to multiple recipients:

domains:
mysite.com:
forwarding:
"alerts@mysite.com":
- "admin@company.com"
- "alerts@slack.com"
- "monitoring@pagerduty.com"

mailiam automatically supports plus addressing (also called sub-addressing):

domains:
mysite.com:
forwarding:
"*@mysite.com": "me@gmail.com"

This configuration automatically handles:

  • me+newsletter@mysite.comme+newsletter@gmail.com
  • me+shopping@mysite.comme+shopping@gmail.com
  • me+github@mysite.comme+github@gmail.com

Create department-based email routing:

domains:
company.com:
forwarding:
# Sales team
"sales@company.com": "sales-team@company.com"
"demo@company.com": "sales-team@company.com"
"partnership@company.com": "sales-team@company.com"
# Support team
"support@company.com": "support-team@company.com"
"help@company.com": "support-team@company.com"
"bugs@company.com": "support-team@company.com"
# Executive team
"ceo@company.com": "chief@company.com"
"founder@company.com": "chief@company.com"
# Catch-all for employees
"*@company.com": "general@company.com"
  1. Set up forwarding rules in your mailiam config:
domains:
mycompany.com:
forwarding:
"admin@mycompany.com": "admin@gmail.com"
"team@mycompany.com": "team@gmail.com"
"*@mycompany.com": "info@gmail.com"
  1. Deploy the configuration:
Terminal window
mailiam push
  1. Update MX records when ready:
    • mailiam provides the MX records after deployment
    • Update DNS gradually or all at once
    • Zero-downtime migration possible

mailiam works with any email provider as the destination:

domains:
mysite.com:
forwarding:
# To Outlook/Office365
"team@mysite.com": "team@outlook.com"
# To ProtonMail
"secure@mysite.com": "secure@protonmail.com"
# To custom domains
"support@mysite.com": "help@internal.company.com"

mailiam processes routing rules in order of specificity:

  1. Exact matches (user@domain.com)
  2. Wildcard matches (*@domain.com)
domains:
mysite.com:
forwarding:
"admin@mysite.com": "admin@gmail.com" # Processed first
"support@mysite.com": "help@company.com" # Processed second
"*@mysite.com": "catchall@gmail.com" # Processed last

Use wildcards for flexible routing:

domains:
company.com:
forwarding:
# Department patterns
"sales-*@company.com": "sales@company.com"
"support-*@company.com": "support@company.com"
# Regional routing
"eu-*@company.com": "europe@company.com"
"us-*@company.com": "americas@company.com"
Terminal window
# List all domains and their forwarding rules
mailiam domains list
# Show specific domain configuration
mailiam domains show mysite.com
Terminal window
# Add a single forwarding rule
mailiam domains add-forwarding mysite.com "new@mysite.com" "destination@gmail.com"
# Add multiple destinations
mailiam domains add-forwarding mysite.com "alerts@mysite.com" "admin@gmail.com,ops@company.com"
Terminal window
# Test email routing (shows where email would be forwarded)
mailiam domains test mysite.com test@mysite.com
# Test multiple addresses
mailiam domains test mysite.com support@mysite.com sales@mysite.com

All forwarded emails include mailiam’s spam protection:

  • SPF/DKIM validation on incoming emails
  • Rate limiting per sending domain
  • Blacklist filtering of known spam sources
  • Content filtering for obvious spam patterns

Configure spam protection levels:

domains:
mysite.com:
forwarding:
"*@mysite.com": "me@gmail.com"
security:
spamProtection: "strict" # strict, normal, or lenient
rateLimit: 100 # emails per hour per sender
blacklistEnabled: true
  • Sub-100ms processing times for email routing
  • 99.9% uptime SLA for email forwarding
  • Global redundancy across multiple regions
  • Real-time monitoring and alerting
  • Automatic failover for high availability

Emails not forwarding:

  1. Check MX records point to mailiam
  2. Verify domain ownership in mailiam dashboard
  3. Check spam folders at destination

Forwarding rules not working:

  1. Check rule syntax in mailiam.config.yaml
  2. Run mailiam config validate to check for errors
  3. Verify deployment with mailiam status

Performance issues:

Terminal window
# Check forwarding performance
mailiam domains performance mysite.com
# View recent forwarding logs
mailiam logs forwarding mysite.com --last 24h
  1. Use specific rules first: Place exact matches before wildcards
  2. Test thoroughly: Use mailiam domains test before going live
  3. Monitor forwarding: Set up alerts for failed forwards
  4. Document your setup: Keep routing rules documented for team
  5. Regular backups: Version control your mailiam.config.yaml

Email forwarding works seamlessly with mailiam’s forms and projects:

domains:
mysite.com:
forwarding:
"*@mysite.com": "me@gmail.com"
forms:
contact:
replies: true # Enables replies@mysite.com
template: "professional"
projects:
marketing:
replyTo: "marketing@mysite.com" # Uses forwarding

This creates a complete email ecosystem where form submissions, replies, and general email all work together seamlessly.