From a153c1b294ed8c8f92a79db3f63924a31f5f1392 Mon Sep 17 00:00:00 2001 From: Administrator Date: Sun, 15 Feb 2026 01:44:28 +0000 Subject: [PATCH] docs: create mxroute-mailcow --- mxroute-mailcow.md | 271 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 271 insertions(+) create mode 100644 mxroute-mailcow.md diff --git a/mxroute-mailcow.md b/mxroute-mailcow.md new file mode 100644 index 0000000..311a468 --- /dev/null +++ b/mxroute-mailcow.md @@ -0,0 +1,271 @@ +--- +title: Recieving Mail thru MXRoute +description: Trusted receiver +published: true +date: 2026-02-15T01:44:15.683Z +tags: +editor: markdown +dateCreated: 2026-02-15T01:44:15.683Z +--- + +# MXroute Incoming Mail to Mailcow + +## Overview +Configuration guide for using MXroute to receive incoming mail for your domains and forward to your Mailcow server. + +--- + +## Architecture + +``` +Internet → MXroute (receives) → Mailcow (delivers) +``` + +This setup allows MXroute to handle incoming mail filtering, spam protection, and then forward clean mail to your Mailcow server. + +--- + +## MXroute Configuration + +### 1. Add Domain to MXroute + +1. Log into MXroute DirectAdmin panel +2. Navigate to **Email Accounts** → **Email Domains** +3. Add your domain (e.g., `yourdomain.com`) + +### 2. Create Forwarder Accounts + +For each mailbox you want to receive mail: + +1. Navigate to **Email Accounts** → **Forwarders** +2. Create forwarder: + - **Email Address:** user@yourdomain.com + - **Forward To:** user@mail.yourdomain.com (your Mailcow server) +3. Enable **Discard if no forwarders exist** (optional, prevents bounces) + +**Alternative: Catch-all Forwarder** +- Create a catch-all forwarder: `*@yourdomain.com` → `@mail.yourdomain.com` +- This forwards all mail to Mailcow regardless of recipient + +--- + +## DNS Configuration + +### Update MX Records + +Point your domain's MX records to MXroute servers: + +``` +yourdomain.com → MX 10 arrow.mxroute.com +yourdomain.com → MX 20 eagle.mxroute.com +``` + +**Note:** Check your MXroute account for the correct server hostnames (arrow, eagle, hermes, etc.) + +### SPF Record + +Update SPF to allow MXroute to send on your behalf: + +``` +v=spf1 include:mxroute.com -all +``` + +If you also send from Mailcow directly: +``` +v=spf1 ip4:192.168.5.16 include:mxroute.com -all +``` + +### DKIM Records + +1. Generate DKIM key in MXroute DirectAdmin: + - Navigate to **Email Authentication** → **DKIM Keys** + - Generate key for your domain + - Copy the DNS record + +2. Add DKIM TXT record to your DNS: + ``` + default._domainkey.yourdomain.com → [MXroute DKIM public key] + ``` + +### DMARC Record + +``` +_dmarc.yourdomain.com → v=DMARC1; p=quarantine; rua=mailto:admin@yourdomain.com +``` + +**Note:** Start with `p=quarantine` for testing, then move to `p=reject` once confirmed working. + +--- + +## Mailcow Configuration + +### 1. Allow MXroute IP Addresses + +Add MXroute server IPs to Mailcow's trusted networks: + +1. SSH into your Mailcow server +2. Edit `mailcow.conf`: + ```bash + nano /opt/mailcow-dockerized/mailcow.conf + ``` + +3. Add MXroute IPs to `SKIP_CLAMD` or trusted networks +4. Restart Mailcow: + ```bash + docker-compose down + docker-compose up -d + ``` + +### 2. Configure Mailboxes + +Create mailboxes in Mailcow for each user: + +1. Navigate to Mailcow admin → **Mailboxes** +2. Create mailbox: `user@yourdomain.com` +3. Set password and quota + +### 3. Disable Greylisting (Optional) + +If you experience delays: + +1. Navigate to **Configuration** → **Configuration & Details** +2. Find your domain +3. Disable greylisting for MXroute IPs + +--- + +## Testing + +### 1. Test Mail Flow + +Send test email from external provider (Gmail, Outlook): +``` +From: test@gmail.com +To: user@yourdomain.com +``` + +**Expected Flow:** +1. Mail arrives at MXroute +2. MXroute forwards to Mailcow +3. Mail appears in Mailcow inbox + +### 2. Check Headers + +Review email headers in Mailcow to verify: +- `Received:` headers show MXroute server +- SPF, DKIM, DMARC all pass +- No spam flags + +### 3. Monitor Logs + +**MXroute Logs:** +- Check DirectAdmin → Email Logs +- Verify forwarding is occurring + +**Mailcow Logs:** +```bash +docker-compose logs -f postfix-mailcow +``` + +Look for incoming connections from MXroute IPs. + +--- + +## Example Configuration: gnarlypandaproductions.com + +### MXroute Forwarders +| MXroute Address | Forwards To | +|-----------------|-------------| +| admin@gnarlypandaproductions.com | admin@mail.gnarlypandaproductions.com | +| contact@gnarlypandaproductions.com | contact@mail.gnarlypandaproductions.com | +| *@gnarlypandaproductions.com | @mail.gnarlypandaproductions.com | + +### DNS Records +| Record Type | Name | Value | +|-------------|------|-------| +| MX | @ | 10 arrow.mxroute.com | +| MX | @ | 20 eagle.mxroute.com | +| A | mail | 192.168.5.16 | +| TXT | @ | v=spf1 ip4:192.168.5.16 include:mxroute.com -all | +| TXT | _dmarc | v=DMARC1; p=reject; rua=mailto:admin@gnarlypandaproductions.com | +| TXT | default._domainkey | [MXroute DKIM key] | + +--- + +## Troubleshooting + +### Mail Not Being Forwarded + +1. **Check MXroute forwarder configuration** + - Verify forwarder exists in DirectAdmin + - Check destination address is correct + - Review MXroute email logs + +2. **Verify DNS propagation** + ```bash + dig MX yourdomain.com + dig TXT yourdomain.com + ``` + +3. **Check Mailcow firewall** + - Ensure port 25 is open + - Verify MXroute IPs aren't blocked + +### SPF/DKIM Failures + +1. **SPF not passing** + - Verify `include:mxroute.com` in SPF record + - Check for typos in SPF syntax + - Use SPF checker: https://mxtoolbox.com/spf.aspx + +2. **DKIM not passing** + - Confirm DKIM record published in DNS + - Verify selector matches (usually `default`) + - Check DKIM record format (no spaces in key) + +### Mail Delayed or Bouncing + +1. **Greylisting delays** + - Disable greylisting in Mailcow for MXroute IPs + - Or wait 5-15 minutes for retry + +2. **Mailbox full** + - Check quota in Mailcow + - Increase quota or clean mailbox + +3. **Spam filtering** + - Check Mailcow spam folder + - Whitelist MXroute IPs in Rspamd + +--- + +## MXroute Server Information + +### Common MXroute Mail Servers +- arrow.mxroute.com +- eagle.mxroute.com +- hermes.mxroute.com +- zen.mxroute.com + +**Your assigned server:** Check MXroute DirectAdmin welcome email or DNS settings + +### MXroute IP Ranges +Consult MXroute documentation for current IP ranges to whitelist in Mailcow. + +--- + +## Advantages of This Setup + +- **Spam filtering:** MXroute handles initial spam filtering +- **DDoS protection:** MXroute absorbs mail-based attacks +- **Reliability:** If Mailcow is down, mail queues at MXroute +- **Deliverability:** MXroute IPs have good reputation +- **Offload processing:** Reduces load on your Mailcow server + +--- + +## References + +- [MXroute Documentation](https://mxroutedocs.com/) +- [Mailcow Documentation](https://docs.mailcow.email/) +- [Email Forwarding Best Practices](https://www.rfc-editor.org/rfc/rfc5321)