How to Set up an Office 365 Exchange Email Catch-All

I’ve been using a Microsoft hosted Exchange email solution for myself and my wife for several years. Yes, it’s kind of geeky, but we both rely on Outlook as our main email/contact/calendar tool and it’s worked well for us. Years ago I set up a catch-all email forward for my domain, so anything sent to any email address at would get sent to me.

Why would I do such a thing? To give myself protection from companies abusing my email address. When I sign up with a new company, the email address I give them is [email protected] When I do this in person, it makes some people practically go cross-eyed because they can’t understand how I could have an email address like that. 😜 Quite often I’ll get asked if I work for the company and when I say no it confuses them further. I always explain if someone wants to understand.

If that company ever shares my email address without permission, or suffers a data breach where my email address is stolen (this happens shockingly often), I can turn off that email address if I start to get spam to it. This strategy has let me me mostly spam-free for years. Here’s what I do sometimes when an email alias pops up in unexpected ways.

I’d been forwarding my all my email from my web host, but due to a long list of things they’d screwed up over the years (never host with Servage) I needed to leave. It took months to migrate everything I needed to another service, and email was the last task.

I used FowardMX for a while as a test – five domains for $9 a year is great – but they have this incredibly frustrating policy of not even doing greylisting of obvious spammers (i.e.: ones without originating SMTP servers in the header). Why? The founder once couldn’t get email from a client because his email provider’s spam filter was blocking the email, so he founded ForwardMX which forwards every email, no matter how spammy. So I needed a solution for my and my wife’s email; both of us have email addresses old enough to get regular spam.

A few years ago I’d researched whether Office 365 hosted Exchange could act as a catch-all and found a bunch of conflicting information so I left my configuration in place. Even today if you search you’ll find results years old that don’t offer a simple explanation of the steps. Here’s my effort to provide simple, clear steps.

You’ll need to start by logging into the administration center then into the Exchange Admin Center. This tutorial assumes you’ve already added your domain, at least one user, and have a working mail system. You’ll want to complete all these steps in short order or you’ll have email bouncing.

Step 1: Under Mail Flow, select rules. Click on the plus sign and create a new rule

I’ve already created two rules, so your window will be blank if no rules have previously been created. This is a good reference for how it should look when you’re done.

Step 2: Call the rule “Catch-All”. Set it up as pictured below then click Save

The rule should be applied if the sender is located outside the organization and the recipient domain is set to your domain; it will be set to redirect to the inbox you select except if the sender is located inside the organization.

Step 3: Click on Accepted Domains, select your domain, and edit it. Change it to “Internal Relay”. Click Save.

This step is critical; if the domain isn’t set to internal relay – Authoritative is the default – email will bounce.

Step 4: Ensure your domain now says “Internal relay” under Domain Type.

Step 5: Test the system by using a Gmail (or other external email system) to send email to various wildcards on your domain

Step 6: Celebrate your newly functioning email catch-all 🥳

That’s all there is to it. As of March 2020, this is how the setup needs to be done or you’ll get email bounces. Enjoy. 😁