After you set up routing, test it with a few test users before you route everyone. This page gives a test plan, what to look for in message headers and in Reports › Email Flow Logs, and how to read the most common results.
Before you begin
- Routing is configured for your platform, with the routing rules limited to a pilot group or still turned off. See Selective routing.
- Each domain has its Server set in Settings › Organization and domains.
- You have one or two test mailboxes in your domain and a mailbox outside your organization (for example a personal account).
Step 1: Create a test rule
Use a rule that is easy to see and harmless to recipients.
- In the Admin Dashboard, open Rules › Create a Rule.
- Choose Copy Emails. It saves a copy to storage and delivers the original unchanged.
- Target Email Flow, with the test user as sender or recipient.
- Choose a test folder in your storage and save the rule.
See Create a rule. New and changed rules take about 1–2 minutes to apply.
Step 2: Turn on routing for the test users
-
Microsoft 365: turn on
mxHERO - Route Inboundand/ormxHERO - Route Outbound, limited to the pilot group. Allow up to an hour for Exchange Online to apply rule changes. - Google Workspace: save the content compliance rules with the pilot group envelope filter. Allow up to an hour.
- Border or MX: change the gateway or the MX record.
Step 3: Send test messages
| Test | From | To | Expected result |
|---|---|---|---|
| Inbound | Outside mailbox | Test user | Delivered once; a copy is in the test folder |
| Outbound | Test user | Outside mailbox | Delivered once; a copy is in the test folder |
| Internal | Test user | Another user in your domain | Delivered once |
| Not in pilot | Outside mailbox | User not in the pilot group | Delivered; not in Email Flow Logs |
| Attachment | Outside mailbox | Test user, with an attachment | Delivered; attachment copied |
Step 4: Check the message headers
Open the message the test user received and view its full headers:
- Outlook on the web: open the message › More actions (…) › View › View message details.
- Gmail: open the message › More (⋮) › Show original.
| Header | What it tells you |
|---|---|
X-mxHero-Server: <value> |
The message went through mxHERO and mxHERO recognized your Transport Agent value. The value equals Settings › Gateway. |
No X-mxHero-Server
|
The message did not go through mxHERO, or it went through without a valid Transport Agent value. |
X-mxHero-Transport-Agent |
Should not be present on delivered mail; mxHERO removes it. |
ARC-Seal with d=mxhero.com
|
mxHERO sealed the message. |
Authentication-Results with compauth=pass reason=130 (Microsoft 365) |
Microsoft 365 trusted the mxHERO ARC seal. |
Many Received headers through mxHERO and your mail system |
A loop. See Troubleshooting. |
Step 5: Check Email Flow Logs
- Open Reports › Email Flow Logs.
- Search by Sender, Recipient or Subject, with a date range that includes your test.
- Open the message. Check:
- the email actions: Mail Received, Mail Split, Rule Executed for your rule, and Mail Delivered ;
- the recipient's latest status and, in the recipient details, the relay, delay and SMTP status of the final delivery.
See Email Flow Logs. New entries can take up to a minute to appear.
| What you see | Meaning |
|---|---|
| Message present, rule executed, delivered | Routing and the rule work. |
Message present, rule not executed, with a reason (for example flow_filter_from_to, mail_content_without_attachments) |
Routing works; the rule didn't match. Adjust the rule. |
| Rule Execution Failed | The rule failed; the original was delivered unchanged. Check the error and Reports › Notifications. |
| Message not present | The message didn't reach mxHERO, or Only process email rules with transport agent header (Strict Mode) is on and the Transport Agent value was missing or wrong. |
Step 6: Roll out
When all tests pass:
- Expand the routing rules to everyone, or add users to the pilot group. See Selective routing.
- Disable or delete the test rule.
- Create your production rules, and tell users what to expect. See Planning end user communications.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
Duplicate messages, or bounces with 554 Message exceeded 50 hops, this may indicate an email loop.
|
Loop exception wrong (tests X-mxHero-Transport-Agent instead of X-mxHero-Server, wrong value, wrong match type), host uses MX lookup, or Server missing |
Turn routing off, fix the exception and Server, test again. See Mail loops and bounces. |
| Message delivered but not in Email Flow Logs | Routing rule not active yet, user not in the pilot group, or Strict Mode on with a missing or mismatched header | Wait for rule changes to apply. Check group membership. Copy the value again from Settings › Gateway. |
| In Email Flow Logs but the rule didn't run | Rule conditions don't match, or the rule was saved less than 2 minutes ago | Read the reason in the event list. See How rules work. |
| Test user's mail goes to spam | Mail system doesn't trust mxHERO IP addresses | Check the connection filter (Microsoft 365) or inbound gateway (Google). |
| Outbound mail rejected by the recipient's server for SPF |
include:_spf.mxhero.com missing |
Update SPF. See SPF, DKIM and DMARC. |
Comments
0 comments
Please sign in to leave a comment.